home *** CD-ROM | disk | FTP | other *** search
/ This Disc Bytes! / Power Computing - The Disc 2 - This Disc Bytes.ISO / pc / codewarr / macossup / headers / universa / gxprinti.h < prev    next >
Text File  |  1995-08-15  |  159KB  |  4,502 lines

  1. /*
  2.      File:        GXPrinting.h
  3.  
  4.      Contains:    This file contains all printing APIs except for driver/extension specific ones.
  5.  
  6.      Version:    Technology:    Quickdraw GX 1.1
  7.                  Package:    Universal Interfaces 2.1 in “MPW Latest” on ETO #18
  8.  
  9.      Copyright:    © 1984-1995 by Apple Computer, Inc.
  10.                  All rights reserved.
  11.  
  12.      Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  13.                  stack.  Include the file and version information (from above)
  14.                  in the problem description and send to:
  15.                      Internet:    apple.bugs@applelink.apple.com
  16.                      AppleLink:    APPLE.BUGS
  17.  
  18. */
  19.  
  20. #ifndef __GXPRINTING__
  21. #define __GXPRINTING__
  22.  
  23.  
  24. #ifndef __COLLECTIONS__
  25. #include <Collections.h>
  26. #endif
  27. /*    #include <Types.h>                                            */
  28. /*        #include <ConditionalMacros.h>                            */
  29. /*    #include <MixedMode.h>                                        */
  30.  
  31. #ifndef __CONDITIONALMACROS__
  32. #include <ConditionalMacros.h>
  33. #endif
  34.  
  35. #ifndef __DIALOGS__
  36. #include <Dialogs.h>
  37. #endif
  38. /*    #include <Errors.h>                                            */
  39. /*    #include <Memory.h>                                            */
  40. /*    #include <Menus.h>                                            */
  41. /*        #include <Quickdraw.h>                                    */
  42. /*            #include <QuickdrawText.h>                            */
  43. /*    #include <Controls.h>                                        */
  44. /*    #include <Windows.h>                                        */
  45. /*        #include <Events.h>                                        */
  46. /*            #include <OSUtils.h>                                */
  47. /*    #include <TextEdit.h>                                        */
  48.  
  49. #ifndef __ERRORS__
  50. #include <Errors.h>
  51. #endif
  52.  
  53. #ifndef __FILES__
  54. #include <Files.h>
  55. #endif
  56. /*    #include <Finder.h>                                            */
  57.  
  58. #ifndef __GXFONTS__
  59. #include <GXFonts.h>
  60. #endif
  61. /*    #include <GXMath.h>                                            */
  62. /*        #include <FixMath.h>                                    */
  63. /*    #include <GXTypes.h>                                        */
  64. /*    #include <ScalerTypes.h>                                    */
  65. /*        #include <SFNTTypes.h>                                    */
  66.  
  67. #ifndef __GXMATH__
  68. #include <GXMath.h>
  69. #endif
  70.  
  71. #ifndef __GXTYPES__
  72. #include <GXTypes.h>
  73. #endif
  74.  
  75. #ifndef __LISTS__
  76. #include <Lists.h>
  77. #endif
  78.  
  79. #ifndef __MENUS__
  80. #include <Menus.h>
  81. #endif
  82.  
  83. #ifndef __GXMESSAGES__
  84. #include <GXMessages.h>
  85. #endif
  86.  
  87. #ifndef __PRINTING__
  88. #include <Printing.h>
  89. #endif
  90.  
  91. #ifndef __QUICKDRAW__
  92. #include <Quickdraw.h>
  93. #endif
  94.  
  95. #ifdef __cplusplus
  96. extern "C" {
  97. #endif
  98.  
  99. #if PRAGMA_ALIGN_SUPPORTED
  100. #pragma options align=mac68k
  101. #endif
  102.  
  103. #if PRAGMA_IMPORT_SUPPORTED
  104. #pragma import on
  105. #endif
  106.  
  107. #if defined(__MWERKS__) && GENERATING68K
  108.     #pragma push
  109.     #pragma pointers_in_D0
  110. #endif
  111.  
  112.  
  113. enum {
  114.     gestaltGXPrintingMgrVersion    = 'pmgr',
  115.     gestaltGXVersion            = 'qdgx'
  116. };
  117.  
  118. typedef unsigned long gxOwnerSignature;
  119.  
  120. #if OLDROUTINENAMES
  121. typedef unsigned long Signature;
  122.  
  123. #endif
  124. typedef struct gxPrivatePrinterRecord *gxPrinter;
  125.  
  126. typedef struct gxPrivateJobRecord *gxJob;
  127.  
  128. typedef struct gxPrivateFormatRecord *gxFormat;
  129.  
  130. typedef struct gxPrivatePaperTypeRecord *gxPaperType;
  131.  
  132. typedef struct gxPrivatePrintFileRecord *gxPrintFile;
  133.  
  134. typedef Boolean gxLoopStatus;
  135.  
  136.  
  137. enum {
  138.     gxStopLooping                = false,
  139.     gxKeepLooping                = true
  140. };
  141.  
  142. typedef pascal gxLoopStatus (*gxViewDeviceProcPtr)(gxViewDevice aViewDevice, void *refCon);
  143.  
  144. #if GENERATINGCFM
  145. typedef UniversalProcPtr gxViewDeviceUPP;
  146. #else
  147. typedef gxViewDeviceProcPtr gxViewDeviceUPP;
  148. #endif
  149.  
  150. enum {
  151.     uppgxViewDeviceProcInfo = kPascalStackBased
  152.          | RESULT_SIZE(SIZE_CODE(sizeof(gxLoopStatus)))
  153.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxViewDevice)))
  154.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(void*)))
  155. };
  156.  
  157. #if GENERATINGCFM
  158. #define NewgxViewDeviceProc(userRoutine)        \
  159.         (gxViewDeviceUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppgxViewDeviceProcInfo, GetCurrentArchitecture())
  160. #else
  161. #define NewgxViewDeviceProc(userRoutine)        \
  162.         ((gxViewDeviceUPP) (userRoutine))
  163. #endif
  164.  
  165. #if GENERATINGCFM
  166. #define CallgxViewDeviceProc(userRoutine, aViewDevice, refCon)        \
  167.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppgxViewDeviceProcInfo, (aViewDevice), (refCon))
  168. #else
  169. #define CallgxViewDeviceProc(userRoutine, aViewDevice, refCon)        \
  170.         (*(userRoutine))((aViewDevice), (refCon))
  171. #endif
  172.  
  173. typedef pascal gxLoopStatus (*gxFormatProcPtr)(gxFormat aFormat, void *refCon);
  174.  
  175. #if GENERATINGCFM
  176. typedef UniversalProcPtr gxFormatUPP;
  177. #else
  178. typedef gxFormatProcPtr gxFormatUPP;
  179. #endif
  180.  
  181. enum {
  182.     uppgxFormatProcInfo = kPascalStackBased
  183.          | RESULT_SIZE(SIZE_CODE(sizeof(gxLoopStatus)))
  184.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxFormat)))
  185.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(void*)))
  186. };
  187.  
  188. #if GENERATINGCFM
  189. #define NewgxFormatProc(userRoutine)        \
  190.         (gxFormatUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppgxFormatProcInfo, GetCurrentArchitecture())
  191. #else
  192. #define NewgxFormatProc(userRoutine)        \
  193.         ((gxFormatUPP) (userRoutine))
  194. #endif
  195.  
  196. #if GENERATINGCFM
  197. #define CallgxFormatProc(userRoutine, aFormat, refCon)        \
  198.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppgxFormatProcInfo, (aFormat), (refCon))
  199. #else
  200. #define CallgxFormatProc(userRoutine, aFormat, refCon)        \
  201.         (*(userRoutine))((aFormat), (refCon))
  202. #endif
  203.  
  204. typedef pascal gxLoopStatus (*gxPaperTypeProcPtr)(gxPaperType aPapertype, void *refCon);
  205.  
  206. #if GENERATINGCFM
  207. typedef UniversalProcPtr gxPaperTypeUPP;
  208. #else
  209. typedef gxPaperTypeProcPtr gxPaperTypeUPP;
  210. #endif
  211.  
  212. enum {
  213.     uppgxPaperTypeProcInfo = kPascalStackBased
  214.          | RESULT_SIZE(SIZE_CODE(sizeof(gxLoopStatus)))
  215.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxPaperType)))
  216.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(void*)))
  217. };
  218.  
  219. #if GENERATINGCFM
  220. #define NewgxPaperTypeProc(userRoutine)        \
  221.         (gxPaperTypeUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppgxPaperTypeProcInfo, GetCurrentArchitecture())
  222. #else
  223. #define NewgxPaperTypeProc(userRoutine)        \
  224.         ((gxPaperTypeUPP) (userRoutine))
  225. #endif
  226.  
  227. #if GENERATINGCFM
  228. #define CallgxPaperTypeProc(userRoutine, aPapertype, refCon)        \
  229.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppgxPaperTypeProcInfo, (aPapertype), (refCon))
  230. #else
  231. #define CallgxPaperTypeProc(userRoutine, aPapertype, refCon)        \
  232.         (*(userRoutine))((aPapertype), (refCon))
  233. #endif
  234.  
  235. typedef pascal OSErr (*gxPrintingFlattenProcPtr)(long size, void *data, void *refCon);
  236.  
  237. #if GENERATINGCFM
  238. typedef UniversalProcPtr gxPrintingFlattenUPP;
  239. #else
  240. typedef gxPrintingFlattenProcPtr gxPrintingFlattenUPP;
  241. #endif
  242.  
  243. enum {
  244.     uppgxPrintingFlattenProcInfo = kPascalStackBased
  245.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  246.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(long)))
  247.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(void*)))
  248.          | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(void*)))
  249. };
  250.  
  251. #if GENERATINGCFM
  252. #define NewgxPrintingFlattenProc(userRoutine)        \
  253.         (gxPrintingFlattenUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppgxPrintingFlattenProcInfo, GetCurrentArchitecture())
  254. #else
  255. #define NewgxPrintingFlattenProc(userRoutine)        \
  256.         ((gxPrintingFlattenUPP) (userRoutine))
  257. #endif
  258.  
  259. #if GENERATINGCFM
  260. #define CallgxPrintingFlattenProc(userRoutine, size, data, refCon)        \
  261.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppgxPrintingFlattenProcInfo, (size), (data), (refCon))
  262. #else
  263. #define CallgxPrintingFlattenProc(userRoutine, size, data, refCon)        \
  264.         (*(userRoutine))((size), (data), (refCon))
  265. #endif
  266.  
  267. typedef gxViewDeviceProcPtr gxViewDeviceProc;
  268.  
  269. typedef gxFormatProcPtr gxFormatProc;
  270.  
  271. typedef gxPaperTypeProcPtr gxPaperTypeProc;
  272.  
  273. typedef gxPrintingFlattenProcPtr gxPrintingFlattenProc;
  274.  
  275. /*
  276.     The following constants are used to set collection item flags in printing
  277.     collections. The Printing Manager purges certain items whenever a driver
  278.     switch occurs. If the formatting driver changes, all items marked as
  279.     gxVolatileFormattingDriverCategory will be purged.  If the output driver
  280.     changes, all items marked as gxVolatileOutputDriverCategory will be purged.
  281.     Note that to prevent items from being flattened when GXFlattenJob is called,
  282.     you should unset the collectionPersistenceBit (defined in Collections.h),
  283.     which is on by default.
  284. */
  285. /* Structure stored in collection items' user attribute bits */
  286. typedef short gxCollectionCategory;
  287.  
  288.  
  289. enum {
  290.     gxNoCollectionCategory        = (gxCollectionCategory)0x0000,
  291.     gxOutputDriverCategory        = (gxCollectionCategory)0x0001,
  292.     gxFormattingDriverCategory    = (gxCollectionCategory)0x0002,
  293.     gxDriverVolatileCategory    = (gxCollectionCategory)0x0004,
  294.     gxVolatileOutputDriverCategory = gxOutputDriverCategory + gxDriverVolatileCategory,
  295.     gxVolatileFormattingDriverCategory = gxFormattingDriverCategory + gxDriverVolatileCategory
  296. };
  297.  
  298. /*
  299.  
  300.     >>>>>> JOB COLLECTION ITEMS <<<<<<
  301.  
  302. */
  303. /* gxJobInfo COLLECTION ITEM */
  304. enum {
  305.     gxJobTag                    = 'job '
  306. };
  307.  
  308. struct gxJobInfo {
  309.     long                            numPages;                    /* Number of pages in the document */
  310.     long                            priority;                    /* Priority of this job plus "is it on hold?" */
  311.     unsigned long                    timeToPrint;                /* When to print job, if scheduled */
  312.     long                            jobTimeout;                    /* Timeout value, in ticks */
  313.     long                            firstPageToPrint;            /* Start printing from this page */
  314.     short                            jobAlert;                    /* How to alert user when printing */
  315.     Str31                            appName;                    /* Which application printed the document */
  316.     Str31                            documentName;                /* The name of the document being printed */
  317.     Str31                            userName;                    /* The owner name of the machine that printed the document */
  318. };
  319. typedef struct gxJobInfo gxJobInfo;
  320.  
  321. /* priority field constants */
  322.  
  323. enum {
  324.     gxPrintJobHoldingBit        = 0x00001000                    /* This bit is set if the job is on hold. */
  325. };
  326.  
  327. enum {
  328.     gxPrintJobUrgent            = 0x00000001,
  329.     gxPrintJobAtTime            = 0x00000002,
  330.     gxPrintJobASAP                = 0x00000003,
  331.     gxPrintJobHolding            = (gxPrintJobHoldingBit + gxPrintJobASAP),
  332.     gxPrintJobHoldingAtTime        = (gxPrintJobHoldingBit + gxPrintJobAtTime),
  333.     gxPrintJobHoldingUrgent        = (gxPrintJobHoldingBit + gxPrintJobUrgent)
  334. };
  335.  
  336. /* jobAlert field constants */
  337. enum {
  338.     gxNoPrintTimeAlert            = 0,                            /* Don't alert user when we print */
  339.     gxAlertBefore                = 1,                            /* Alert user before we print */
  340.     gxAlertAfter                = 2,                            /* Alert user after we print */
  341.     gxAlertBothTimes            = 3                                /* Alert before and after we print */
  342. };
  343.  
  344. /* jobTimeout field constants */
  345. enum {
  346.     gxThirtySeconds                = 1800,                            /* 30 seconds in ticks */
  347.     gxTwoMinutes                = 7200                            /* 2 minutes in ticks */
  348. };
  349.  
  350. /* gxCollationTag COLLECTION ITEM */
  351. enum {
  352.     gxCollationTag                = 'sort'
  353. };
  354.  
  355. struct gxCollationInfo {
  356.     Boolean                            collation;                    /* True if copies are to be collated */
  357.     char                            padByte;
  358. };
  359. typedef struct gxCollationInfo gxCollationInfo;
  360.  
  361. /* gxCopiesTag COLLECTION ITEM */
  362.  
  363. enum {
  364.     gxCopiesTag                    = 'copy'
  365. };
  366.  
  367. struct gxCopiesInfo {
  368.     long                            copies;                        /* Number of copies of the document to print */
  369. };
  370. typedef struct gxCopiesInfo gxCopiesInfo;
  371.  
  372. /* gxPageRangeTag COLLECTION ITEM */
  373.  
  374. enum {
  375.     gxPageRangeTag                = 'rang'
  376. };
  377.  
  378. struct gxSimplePageRangeInfo {
  379.     char                            optionChosen;                /* From options listed below */
  380.     Boolean                            printAll;                    /* True if user wants to print all pages */
  381.     long                            fromPage;                    /* For gxDefaultPageRange, current value */
  382.     long                            toPage;                        /* For gxDefaultPageRange, current value */
  383. };
  384. typedef struct gxSimplePageRangeInfo gxSimplePageRangeInfo;
  385.  
  386. struct gxPageRangeInfo {
  387.     gxSimplePageRangeInfo            simpleRange;                /* Info which will be returned for GetJobPageRange */
  388.     Str31                            fromString;                    /* For gxCustomizePageRange, current value */
  389.     Str31                            toString;                    /* For gxCustomizePageRange, current value */
  390.     long                            minFromPage;                /* For gxDefaultPageRange, we parse with this, ignored if nil */
  391.     long                            maxToPage;                    /* For gxDefaultPageRange, we parse with this, ignored if nil */
  392.     char                            replaceString[1];            /* For gxReplacePageRange, string to display */
  393. };
  394. typedef struct gxPageRangeInfo gxPageRangeInfo;
  395.  
  396. /* optionChosen field constants for SimplePageRangeInfo */
  397.  
  398. enum {
  399.     gxDefaultPageRange            = (char)0,
  400.     gxReplacePageRange            = (char)1,
  401.     gxCustomizePageRange        = (char)2
  402. };
  403.  
  404. /* gxQualityTag COLLECTION ITEM */
  405. enum {
  406.     gxQualityTag                = 'qual'
  407. };
  408.  
  409. struct gxQualityInfo {
  410.     Boolean                            disableQuality;                /* True to disable standard quality controls */
  411.     char                            padByte;
  412.     short                            defaultQuality;                /* The default quality value */
  413.     short                            currentQuality;                /* The current quality value */
  414.     short                            qualityCount;                /* The number of quality menu items in popup menu */
  415.     char                            qualityNames[1];            /* An array of packed pascal strings for popup menu titles */
  416. };
  417. typedef struct gxQualityInfo gxQualityInfo;
  418.  
  419. /* gxFileDestinationTag COLLECTION ITEM */
  420.  
  421. enum {
  422.     gxFileDestinationTag        = 'dest'
  423. };
  424.  
  425. struct gxFileDestinationInfo {
  426.     Boolean                            toFile;                        /* True if destination is a file */
  427.     char                            padByte;
  428. };
  429. typedef struct gxFileDestinationInfo gxFileDestinationInfo;
  430.  
  431. /* gxFileLocationTag COLLECTION ITEM */
  432.  
  433. enum {
  434.     gxFileLocationTag            = 'floc'
  435. };
  436.  
  437. struct gxFileLocationInfo {
  438.     FSSpec                            fileSpec;                    /* Location to put file, if destination is file */
  439. };
  440. typedef struct gxFileLocationInfo gxFileLocationInfo;
  441.  
  442. /* gxFileFormatTag COLLECTION ITEM */
  443.  
  444. enum {
  445.     gxFileFormatTag                = 'ffmt'
  446. };
  447.  
  448. struct gxFileFormatInfo {
  449.     Str31                            fileFormatName;                /* Name of file format (e.g. "PostScript") if destination is file */
  450. };
  451. typedef struct gxFileFormatInfo gxFileFormatInfo;
  452.  
  453. /* gxFileFontsTag COLLECTION ITEM */
  454.  
  455. enum {
  456.     gxFileFontsTag                = 'incf'
  457. };
  458.  
  459. struct gxFileFontsInfo {
  460.     char                            includeFonts;                /* Which fonts to include, if destination is file */
  461.     char                            padByte;
  462. };
  463. typedef struct gxFileFontsInfo gxFileFontsInfo;
  464.  
  465. /* includeFonts field constants */
  466.  
  467. enum {
  468.     gxIncludeNoFonts            = (char)1,                        /* Include no fonts */
  469.     gxIncludeAllFonts            = (char)2,                        /* Include all fonts */
  470.     gxIncludeNonStandardFonts    = (char)3                        /* Include only fonts that aren't in the standard LW set */
  471. };
  472.  
  473. /* gxPaperFeedTag COLLECTION ITEM */
  474. enum {
  475.     gxPaperFeedTag                = 'feed'
  476. };
  477.  
  478. struct gxPaperFeedInfo {
  479.     Boolean                            autoFeed;                    /* True if automatic feed, false if manual */
  480.     char                            padByte;
  481. };
  482. typedef struct gxPaperFeedInfo gxPaperFeedInfo;
  483.  
  484. /* gxTrayFeedTag COLLECTION ITEM */
  485.  
  486. enum {
  487.     gxTrayFeedTag                = 'tray'
  488. };
  489.  
  490. typedef long gxTrayIndex;
  491.  
  492. struct gxTrayFeedInfo {
  493.     gxTrayIndex                        feedTrayIndex;                /* Tray to feed paper from */
  494.     Boolean                            manualFeedThisPage;            /* Signals manual feeding for the page */
  495.     char                            padByte;
  496. };
  497. typedef struct gxTrayFeedInfo gxTrayFeedInfo;
  498.  
  499. /* gxManualFeedTag COLLECTION ITEM */
  500.  
  501. enum {
  502.     gxManualFeedTag                = 'manf'
  503. };
  504.  
  505. struct gxManualFeedInfo {
  506.     long                            numPaperTypeNames;            /* Number of paperTypes to manually feed */
  507.     Str31                            paperTypeNames[1];            /* Array of names of paperTypes to manually feed */
  508. };
  509. typedef struct gxManualFeedInfo gxManualFeedInfo;
  510.  
  511. /* gxNormalMappingTag COLLECTION ITEM */
  512.  
  513. enum {
  514.     gxNormalMappingTag            = 'nmap'
  515. };
  516.  
  517. struct gxNormalMappingInfo {
  518.     Boolean                            normalPaperMapping;            /* True if not overriding normal paper mapping */
  519.     char                            padByte;
  520. };
  521. typedef struct gxNormalMappingInfo gxNormalMappingInfo;
  522.  
  523. /* gxSpecialMappingTag COLLECTION ITEM */
  524.  
  525. enum {
  526.     gxSpecialMappingTag            = 'smap'
  527. };
  528.  
  529. struct gxSpecialMappingInfo {
  530.     char                            specialMapping;                /* Enumerated redirect, scale or tile setting */
  531.     char                            padByte;
  532. };
  533. typedef struct gxSpecialMappingInfo gxSpecialMappingInfo;
  534.  
  535. /* specialMapping field constants */
  536.  
  537. enum {
  538.     gxRedirectPages                = (char)1,                        /* Redirect pages to a papertype and clip if necessary */
  539.     gxScalePages                = (char)2,                        /* Scale pages if necessary */
  540.     gxTilePages                    = (char)3                        /* Tile pages if necessary */
  541. };
  542.  
  543. /* gxTrayMappingTag COLLECTION ITEM */
  544. enum {
  545.     gxTrayMappingTag            = 'tmap'
  546. };
  547.  
  548. struct gxTrayMappingInfo {
  549.     gxTrayIndex                        mapPaperToTray;                /* Tray to map all paper to */
  550. };
  551. typedef struct gxTrayMappingInfo gxTrayMappingInfo;
  552.  
  553. /* gxPaperMappingTag COLLECTION ITEM */
  554. /* This collection item contains a flattened paper type resource */
  555.  
  556. enum {
  557.     gxPaperMappingTag            = 'pmap'
  558. };
  559.  
  560. /* gxPrintPanelTag COLLECTION ITEM */
  561. enum {
  562.     gxPrintPanelTag                = 'ppan'
  563. };
  564.  
  565. struct gxPrintPanelInfo {
  566.     Str31                            startPanelName;                /* Name of starting panel in Print dialog */
  567. };
  568. typedef struct gxPrintPanelInfo gxPrintPanelInfo;
  569.  
  570. /* gxFormatPanelTag COLLECTION ITEM */
  571.  
  572. enum {
  573.     gxFormatPanelTag            = 'fpan'
  574. };
  575.  
  576. struct gxFormatPanelInfo {
  577.     Str31                            startPanelName;                /* Name of starting panel in Format dialog */
  578. };
  579. typedef struct gxFormatPanelInfo gxFormatPanelInfo;
  580.  
  581. /* gxTranslatedDocumentTag COLLECTION ITEM */
  582.  
  583. enum {
  584.     gxTranslatedDocumentTag        = 'trns'
  585. };
  586.  
  587. struct gxTranslatedDocumentInfo {
  588.     long                            translatorInfo;                /* Information from the translation process */
  589. };
  590. typedef struct gxTranslatedDocumentInfo gxTranslatedDocumentInfo;
  591.  
  592. /*
  593.  
  594.     >>>>>> FORMAT COLLECTION ITEMS <<<<<<
  595.  
  596. */
  597. /* gxPaperTypeLockTag COLLECTION ITEM */
  598.  
  599. enum {
  600.     gxPaperTypeLockTag            = 'ptlk'
  601. };
  602.  
  603. struct gxPaperTypeLockInfo {
  604.     Boolean                            paperTypeLocked;            /* True if format's paperType is locked */
  605.     char                            padByte;
  606. };
  607. typedef struct gxPaperTypeLockInfo gxPaperTypeLockInfo;
  608.  
  609. /* gxOrientationTag COLLECTION ITEM */
  610.  
  611. enum {
  612.     gxOrientationTag            = 'layo'
  613. };
  614.  
  615. struct gxOrientationInfo {
  616.     char                            orientation;                /* An enumerated orientation value */
  617.     char                            padByte;
  618. };
  619. typedef struct gxOrientationInfo gxOrientationInfo;
  620.  
  621. /* orientation field constants */
  622.  
  623. enum {
  624.     gxPortraitLayout            = (char)0,                        /* Portrait */
  625.     gxLandscapeLayout            = (char)1,                        /* Landscape */
  626.     gxRotatedPortraitLayout        = (char)2,                        /* Portrait, rotated 180° */
  627.     gxRotatedLandscapeLayout    = (char)3                        /* Landscape, rotated 180°  */
  628. };
  629.  
  630. /* gxScalingTag COLLECTION ITEM */
  631. enum {
  632.     gxScalingTag                = 'scal'
  633. };
  634.  
  635. struct gxScalingInfo {
  636.     Fixed                            horizontalScaleFactor;        /* Current horizontal scaling factor */
  637.     Fixed                            verticalScaleFactor;        /* Current vertical scaling factor */
  638.     short                            minScaling;                    /* Minimum scaling allowed */
  639.     short                            maxScaling;                    /* Maximum scaling allowed */
  640. };
  641. typedef struct gxScalingInfo gxScalingInfo;
  642.  
  643. /* gxDirectModeTag COLLECTION ITEM */
  644.  
  645. enum {
  646.     gxDirectModeTag                = 'dirm'
  647. };
  648.  
  649. struct gxDirectModeInfo {
  650.     Boolean                            directModeOn;                /* True if a direct mode is enabled */
  651.     char                            padByte;
  652. };
  653. typedef struct gxDirectModeInfo gxDirectModeInfo;
  654.  
  655. /* gxFormatHalftoneTag COLLECTION ITEM */
  656.  
  657. enum {
  658.     gxFormatHalftoneTag            = 'half'
  659. };
  660.  
  661. struct gxFormatHalftoneInfo {
  662.     long                            numHalftones;                /* Number of halftone records */
  663.     gxHalftone                        halftones[1];                /* The halftone records */
  664. };
  665. typedef struct gxFormatHalftoneInfo gxFormatHalftoneInfo;
  666.  
  667. /* gxInvertPageTag COLLECTION ITEM */
  668.  
  669. enum {
  670.     gxInvertPageTag                = 'invp'
  671. };
  672.  
  673. struct gxInvertPageInfo {
  674.     char                            padByte;
  675.     Boolean                            invert;                        /* If true, invert page */
  676. };
  677. typedef struct gxInvertPageInfo gxInvertPageInfo;
  678.  
  679. /* gxFlipPageHorizontalTag COLLECTION ITEM */
  680.  
  681. enum {
  682.     gxFlipPageHorizontalTag        = 'flph'
  683. };
  684.  
  685. struct gxFlipPageHorizontalInfo {
  686.     char                            padByte;
  687.     Boolean                            flipHorizontal;                /* If true, flip x coordinates on page */
  688. };
  689. typedef struct gxFlipPageHorizontalInfo gxFlipPageHorizontalInfo;
  690.  
  691. /* gxFlipPageVerticalTag COLLECTION ITEM */
  692.  
  693. enum {
  694.     gxFlipPageVerticalTag        = 'flpv'
  695. };
  696.  
  697. struct gxFlipPageVerticalInfo {
  698.     char                            padByte;
  699.     Boolean                            flipVertical;                /* If true, flip y coordinates on page */
  700. };
  701. typedef struct gxFlipPageVerticalInfo gxFlipPageVerticalInfo;
  702.  
  703. /* gxPreciseBitmapsTag COLLECTION ITEM */
  704.  
  705. enum {
  706.     gxPreciseBitmapsTag            = 'pbmp'
  707. };
  708.  
  709. struct gxPreciseBitmapInfo {
  710.     Boolean                            preciseBitmaps;                /* If true, scale page by 96% */
  711.     char                            padByte;
  712. };
  713. typedef struct gxPreciseBitmapInfo gxPreciseBitmapInfo;
  714.  
  715. /*
  716.  
  717.     >>>>>> PAPERTYPE COLLECTION ITEMS <<<<<<
  718.  
  719. */
  720. /* gxBaseTag COLLECTION ITEM */
  721.  
  722. enum {
  723.     gxBaseTag                    = 'base'
  724. };
  725.  
  726. struct gxBaseInfo {
  727.     long                            baseType;                    /* PaperType's base type */
  728. };
  729. typedef struct gxBaseInfo gxBaseInfo;
  730.  
  731. /* baseType field constants */
  732.  
  733. enum {
  734.     gxUnknownBase                = 0,                            /* Base paper type from which this paper type is */
  735.     gxUSLetterBase                = 1,                            /* derived.  This is not a complete set. */
  736.     gxUSLegalBase                = 2,
  737.     gxA4LetterBase                = 3,
  738.     gxB5LetterBase                = 4,
  739.     gxTabloidBase                = 5
  740. };
  741.  
  742. /* gxCreatorTag COLLECTION ITEM */
  743. enum {
  744.     gxCreatorTag                = 'crea'
  745. };
  746.  
  747. struct gxCreatorInfo {
  748.     OSType                            creator;                    /* PaperType's creator */
  749. };
  750. typedef struct gxCreatorInfo gxCreatorInfo;
  751.  
  752. /* gxUnitsTag COLLECTION ITEM */
  753.  
  754. enum {
  755.     gxUnitsTag                    = 'unit'
  756. };
  757.  
  758. struct gxUnitsInfo {
  759.     char                            units;                        /* PaperType's units (used by PaperType Editor). */
  760.     char                            padByte;
  761. };
  762. typedef struct gxUnitsInfo gxUnitsInfo;
  763.  
  764. /* units field constants */
  765.  
  766. enum {
  767.     gxPicas                        = (char)0,                        /* Pica measurement */
  768.     gxMMs                        = (char)1,                        /* Millimeter measurement */
  769.     gxInches                    = (char)2                        /* Inches measurement */
  770. };
  771.  
  772. /* gxFlagsTag COLLECTION ITEM */
  773. enum {
  774.     gxFlagsTag                    = 'flag'
  775. };
  776.  
  777. struct gxFlagsInfo {
  778.     long                            flags;                        /* PaperType's flags */
  779. };
  780. typedef struct gxFlagsInfo gxFlagsInfo;
  781.  
  782. /* flags field constants */
  783.  
  784. enum {
  785.     gxOldPaperTypeFlag            = 0x00800000,                    /* Indicates a paper type for compatibility printing */
  786.     gxNewPaperTypeFlag            = 0x00400000,                    /* Indicates a paper type for QuickDraw GX-aware printing */
  787.     gxOldAndNewFlag                = 0x00C00000,                    /* Indicates a paper type that's both old and new */
  788.     gxDefaultPaperTypeFlag        = 0x00100000                    /* Indicates the default paper type in the group */
  789. };
  790.  
  791. /* gxCommentTag COLLECTION ITEM */
  792. enum {
  793.     gxCommentTag                = 'cmnt'
  794. };
  795.  
  796. struct gxCommentInfo {
  797.     Str255                            comment;                    /* PaperType's comment */
  798. };
  799. typedef struct gxCommentInfo gxCommentInfo;
  800.  
  801. /*
  802.  
  803.     >>>>>> PRINTER VIEWDEVICE TAGS <<<<<<
  804.  
  805. */
  806. /* gxPenTableTag COLLECTION ITEM */
  807.  
  808. enum {
  809.     gxPenTableTag                = 'pent'
  810. };
  811.  
  812. struct gxPenTableEntry {
  813.     Str31                            penName;                    /* Name of the pen */
  814.     gxColor                            penColor;                    /* Color to use from the color set */
  815.     Fixed                            penThickness;                /* Size of the pen */
  816.     short                            penUnits;                    /* Specifies units in which pen thickness is defined */
  817.     short                            penPosition;                /* Pen position in the carousel, -1 (kPenNotLoaded) if not loaded */
  818. };
  819. typedef struct gxPenTableEntry gxPenTableEntry;
  820.  
  821. struct gxPenTable {
  822.     long                            numPens;                    /* Number of pen entries in the following array */
  823.     gxPenTableEntry                    pens[1];                    /* Array of pen entries */
  824. };
  825. typedef struct gxPenTable gxPenTable, *gxPenTablePtr, **gxPenTableHdl;
  826.  
  827. /* penUnits field constants */
  828.  
  829. enum {
  830.     gxDeviceUnits                = 0,
  831.     gxMMUnits                    = 1,
  832.     gxInchesUnits                = 2
  833. };
  834.  
  835. /* penPosition field constants */
  836. enum {
  837.     gxPenNotLoaded                = -1
  838. };
  839.  
  840. /*
  841.  
  842.     >>>>>> DIALOG-RELATED CONSTANTS AND TYPES <<<<<<
  843.  
  844. */
  845. typedef long gxDialogResult;
  846.  
  847.  
  848. enum {
  849.     gxCancelSelected            = (gxDialogResult)0,
  850.     gxOKSelected                = (gxDialogResult)1,
  851.     gxRevertSelected            = (gxDialogResult)2
  852. };
  853.  
  854. struct gxEditMenuRecord {
  855.     short                            editMenuID;
  856.     short                            cutItem;
  857.     short                            copyItem;
  858.     short                            pasteItem;
  859.     short                            clearItem;
  860.     short                            undoItem;
  861. };
  862. typedef struct gxEditMenuRecord gxEditMenuRecord;
  863.  
  864. /*
  865.  
  866.     >>>>>> JOB FORMAT MODE CONSTANTS AND TYPES <<<<<<
  867.  
  868. */
  869. typedef OSType gxJobFormatMode;
  870.  
  871. struct gxJobFormatModeTable {
  872.     long                            numModes;                    /* Number of job format modes to choose from */
  873.     gxJobFormatMode                    modes[1];                    /* The job format modes */
  874. };
  875. typedef struct gxJobFormatModeTable gxJobFormatModeTable, *gxJobFormatModeTablePtr, **gxJobFormatModeTableHdl;
  876.  
  877.  
  878. enum {
  879.     gxGraphicsJobFormatMode        = (gxJobFormatMode)'grph',
  880.     gxTextJobFormatMode            = (gxJobFormatMode)'text',
  881.     gxPostScriptJobFormatMode    = (gxJobFormatMode)'post'
  882. };
  883.  
  884. typedef long gxQueryType;
  885.  
  886.  
  887. enum {
  888.     gxGetJobFormatLineConstraintQuery = (gxQueryType)0,
  889.     gxGetJobFormatFontsQuery    = (gxQueryType)1,
  890.     gxGetJobFormatFontCommonStylesQuery = (gxQueryType)2,
  891.     gxGetJobFormatFontConstraintQuery = (gxQueryType)3,
  892.     gxSetStyleJobFormatCommonStyleQuery = (gxQueryType)4
  893. };
  894.  
  895. /* Structures used for Text mode field constants */
  896. struct gxPositionConstraintTable {
  897.     gxPoint                            phase;                        /* Position phase */
  898.     gxPoint                            offset;                        /* Position offset */
  899.     long                            numSizes;                    /* Number of available font sizes */
  900.     Fixed                            sizes[1];                    /* The available font sizes */
  901. };
  902. typedef struct gxPositionConstraintTable gxPositionConstraintTable, *gxPositionConstraintTablePtr, **gxPositionConstraintTableHdl;
  903.  
  904. /* numSizes field constants */
  905.  
  906. enum {
  907.     gxConstraintRange            = -1
  908. };
  909.  
  910. struct gxStyleNameTable {
  911.     long                            numStyleNames;                /* Number of style names */
  912.     Str255                            styleNames[1];                /* The style names */
  913. };
  914. typedef struct gxStyleNameTable gxStyleNameTable, *gxStyleNameTablePtr, **gxStyleNameTableHdl;
  915.  
  916. struct gxFontTable {
  917.     long                            numFonts;                    /* Number of font references */
  918.     gxFont                            fonts[1];                    /* The font references */
  919. };
  920. typedef struct gxFontTable gxFontTable, *gxFontTablePtr, **gxFontTableHdl;
  921.  
  922. /* ------------------------------------------------------------------------------
  923.  
  924.                                 Printing Manager API Functions
  925.  
  926. -------------------------------------------------------------------------------- */
  927. extern pascal OSErr GXInitPrinting(void)
  928.  FOURWORDINLINE(0x203C, 0x0000, 0, 0xABFE);
  929. extern pascal OSErr GXExitPrinting(void)
  930.  FOURWORDINLINE(0x203C, 0x0000, 1, 0xABFE);
  931. /*
  932.     Error-Handling Routines
  933. */
  934. extern pascal OSErr GXGetJobError(gxJob aJob)
  935.  FOURWORDINLINE(0x203C, 0x0000, 14, 0xABFE);
  936. extern pascal void GXSetJobError(gxJob aJob, OSErr anErr)
  937.  FOURWORDINLINE(0x203C, 0x0000, 15, 0xABFE);
  938. /*
  939.     Job Routines
  940. */
  941. extern pascal OSErr GXNewJob(gxJob *aJob)
  942.  FOURWORDINLINE(0x203C, 0x0000, 2, 0xABFE);
  943. extern pascal OSErr GXDisposeJob(gxJob aJob)
  944.  FOURWORDINLINE(0x203C, 0x0000, 3, 0xABFE);
  945. extern pascal void GXFlattenJob(gxJob aJob, gxPrintingFlattenProc flattenProc, void *aVoid)
  946.  FOURWORDINLINE(0x203C, 0x0000, 4, 0xABFE);
  947. extern pascal gxJob GXUnflattenJob(gxJob aJob, gxPrintingFlattenProc flattenProc, void *aVoid)
  948.  FOURWORDINLINE(0x203C, 0x0000, 5, 0xABFE);
  949. extern pascal Handle GXFlattenJobToHdl(gxJob aJob, Handle aHdl)
  950.  FOURWORDINLINE(0x203C, 0x0000, 6, 0xABFE);
  951. extern pascal gxJob GXUnflattenJobFromHdl(gxJob aJob, Handle aHdl)
  952.  FOURWORDINLINE(0x203C, 0x0000, 7, 0xABFE);
  953. extern pascal void GXInstallApplicationOverride(gxJob aJob, short messageID, void *override)
  954.  FOURWORDINLINE(0x203C, 0x0000, 8, 0xABFE);
  955. extern pascal Collection GXGetJobCollection(gxJob aJob)
  956.  FOURWORDINLINE(0x203C, 0x0000, 29, 0xABFE);
  957. extern pascal void *GXGetJobRefCon(gxJob aJob)
  958.  FOURWORDINLINE(0x203C, 0x0000, 30, 0xABFE);
  959. extern pascal void GXSetJobRefCon(gxJob aJob, void *refCon)
  960.  FOURWORDINLINE(0x203C, 0x0000, 31, 0xABFE);
  961. extern pascal gxJob GXCopyJob(gxJob srcJob, gxJob dstJob)
  962.  FOURWORDINLINE(0x203C, 0x0000, 32, 0xABFE);
  963. extern pascal void GXSelectJobFormattingPrinter(gxJob aJob, Str31 printerName)
  964.  FOURWORDINLINE(0x203C, 0x0000, 33, 0xABFE);
  965. extern pascal void GXSelectJobOutputPrinter(gxJob aJob, Str31 printerName)
  966.  FOURWORDINLINE(0x203C, 0x0000, 34, 0xABFE);
  967. extern pascal void GXForEachJobFormatDo(gxJob aJob, gxFormatProc formatProc, void *refCon)
  968.  FOURWORDINLINE(0x203C, 0x0000, 35, 0xABFE);
  969. extern pascal long GXCountJobFormats(gxJob aJob)
  970.  FOURWORDINLINE(0x203C, 0x0000, 36, 0xABFE);
  971. extern pascal Boolean GXUpdateJob(gxJob aJob)
  972.  FOURWORDINLINE(0x203C, 0x0000, 37, 0xABFE);
  973. extern pascal void GXConvertPrintRecord(gxJob aJob, THPrint hPrint)
  974.  FOURWORDINLINE(0x203C, 0x0000, 38, 0xABFE);
  975. extern pascal void GXIdleJob(gxJob aJob)
  976.  FOURWORDINLINE(0x203C, 0x0000, 87, 0xABFE);
  977. /*
  978.     Job Format Modes Routines
  979. */
  980. extern pascal void GXSetAvailableJobFormatModes(gxJob aJob, gxJobFormatModeTableHdl formatModeTable)
  981.  FOURWORDINLINE(0x203C, 0x0000, 59, 0xABFE);
  982. extern pascal gxJobFormatMode GXGetPreferredJobFormatMode(gxJob aJob, Boolean *directOnly)
  983.  FOURWORDINLINE(0x203C, 0x0000, 60, 0xABFE);
  984. extern pascal gxJobFormatMode GXGetJobFormatMode(gxJob aJob)
  985.  FOURWORDINLINE(0x203C, 0x0000, 61, 0xABFE);
  986. extern pascal void GXSetJobFormatMode(gxJob aJob, gxJobFormatMode formatMode)
  987.  FOURWORDINLINE(0x203C, 0x0000, 62, 0xABFE);
  988. extern pascal void GXJobFormatModeQuery(gxJob aJob, gxQueryType aQueryType, void *srcData, void *dstData)
  989.  FOURWORDINLINE(0x203C, 0x0000, 63, 0xABFE);
  990. /*
  991.     Format Routines
  992. */
  993. extern pascal gxFormat GXNewFormat(gxJob aJob)
  994.  FOURWORDINLINE(0x203C, 0x0000, 9, 0xABFE);
  995. extern pascal void GXDisposeFormat(gxFormat aFormat)
  996.  FOURWORDINLINE(0x203C, 0x0000, 10, 0xABFE);
  997. extern pascal gxFormat GXGetJobFormat(gxJob aJob, long whichFormat)
  998.  FOURWORDINLINE(0x203C, 0x0000, 19, 0xABFE);
  999. extern pascal gxJob GXGetFormatJob(gxFormat aFormat)
  1000.  FOURWORDINLINE(0x203C, 0x0000, 20, 0xABFE);
  1001. extern pascal gxPaperType GXGetFormatPaperType(gxFormat aFormat)
  1002.  FOURWORDINLINE(0x203C, 0x0000, 21, 0xABFE);
  1003. extern pascal void GXGetFormatDimensions(gxFormat aFormat, gxRectangle *pageSize, gxRectangle *paperSize)
  1004.  FOURWORDINLINE(0x203C, 0x0000, 22, 0xABFE);
  1005. extern pascal Collection GXGetFormatCollection(gxFormat aFormat)
  1006.  FOURWORDINLINE(0x203C, 0x0000, 51, 0xABFE);
  1007. extern pascal void GXChangedFormat(gxFormat aFormat)
  1008.  FOURWORDINLINE(0x203C, 0x0000, 52, 0xABFE);
  1009. extern pascal gxFormat GXCopyFormat(gxFormat srcFormat, gxFormat dstFormat)
  1010.  FOURWORDINLINE(0x203C, 0x0000, 53, 0xABFE);
  1011. extern pascal gxFormat GXCloneFormat(gxFormat aFormat)
  1012.  FOURWORDINLINE(0x203C, 0x0000, 54, 0xABFE);
  1013. extern pascal long GXCountFormatOwners(gxFormat aFormat)
  1014.  FOURWORDINLINE(0x203C, 0x0000, 55, 0xABFE);
  1015. extern pascal void GXGetFormatMapping(gxFormat aFormat, gxMapping *fmtMapping)
  1016.  FOURWORDINLINE(0x203C, 0x0000, 56, 0xABFE);
  1017. extern pascal gxShape GXGetFormatForm(gxFormat aFormat, gxShape *mask)
  1018.  FOURWORDINLINE(0x203C, 0x0000, 57, 0xABFE);
  1019. extern pascal void GXSetFormatForm(gxFormat aFormat, gxShape form, gxShape mask)
  1020.  FOURWORDINLINE(0x203C, 0x0000, 58, 0xABFE);
  1021. /*
  1022.     PaperType Routines
  1023. */
  1024. extern pascal gxPaperType GXNewPaperType(gxJob aJob, Str31 name, gxRectangle *pageSize, gxRectangle *paperSize)
  1025.  FOURWORDINLINE(0x203C, 0x0000, 11, 0xABFE);
  1026. extern pascal void GXDisposePaperType(gxPaperType aPaperType)
  1027.  FOURWORDINLINE(0x203C, 0x0000, 12, 0xABFE);
  1028. extern pascal gxPaperType GXGetNewPaperType(gxJob aJob, short resID)
  1029.  FOURWORDINLINE(0x203C, 0x0000, 13, 0xABFE);
  1030. extern pascal long GXCountJobPaperTypes(gxJob aJob, Boolean forFormatDevice)
  1031.  FOURWORDINLINE(0x203C, 0x0000, 66, 0xABFE);
  1032. extern pascal gxPaperType GXGetJobPaperType(gxJob aJob, long whichPaperType, Boolean forFormatDevice, gxPaperType aPaperType)
  1033.  FOURWORDINLINE(0x203C, 0x0000, 67, 0xABFE);
  1034. extern pascal void GXForEachJobPaperTypeDo(gxJob aJob, gxPaperTypeProc aProc, void *refCon, Boolean forFormattingPrinter)
  1035.  FOURWORDINLINE(0x203C, 0x0000, 68, 0xABFE);
  1036. extern pascal gxPaperType GXCopyPaperType(gxPaperType srcPaperType, gxPaperType dstPaperType)
  1037.  FOURWORDINLINE(0x203C, 0x0000, 69, 0xABFE);
  1038. extern pascal void GXGetPaperTypeName(gxPaperType aPaperType, Str31 papertypeName)
  1039.  FOURWORDINLINE(0x203C, 0x0000, 70, 0xABFE);
  1040. extern pascal void GXGetPaperTypeDimensions(gxPaperType aPaperType, gxRectangle *pageSize, gxRectangle *paperSize)
  1041.  FOURWORDINLINE(0x203C, 0x0000, 71, 0xABFE);
  1042. extern pascal gxJob GXGetPaperTypeJob(gxPaperType aPaperType)
  1043.  FOURWORDINLINE(0x203C, 0x0000, 72, 0xABFE);
  1044. extern pascal Collection GXGetPaperTypeCollection(gxPaperType aPaperType)
  1045.  FOURWORDINLINE(0x203C, 0x0000, 73, 0xABFE);
  1046. /*
  1047.     Printer Routines
  1048. */
  1049. extern pascal gxPrinter GXGetJobFormattingPrinter(gxJob aJob)
  1050.  FOURWORDINLINE(0x203C, 0x0000, 39, 0xABFE);
  1051. extern pascal gxPrinter GXGetJobOutputPrinter(gxJob aJob)
  1052.  FOURWORDINLINE(0x203C, 0x0000, 40, 0xABFE);
  1053. extern pascal gxPrinter GXGetJobPrinter(gxJob aJob)
  1054.  FOURWORDINLINE(0x203C, 0x0000, 41, 0xABFE);
  1055. extern pascal gxJob GXGetPrinterJob(gxPrinter aPrinter)
  1056.  FOURWORDINLINE(0x203C, 0x0000, 42, 0xABFE);
  1057. extern pascal void GXForEachPrinterViewDeviceDo(gxPrinter aPrinter, gxViewDeviceProc aProc, void *refCon)
  1058.  FOURWORDINLINE(0x203C, 0x0000, 43, 0xABFE);
  1059. extern pascal long GXCountPrinterViewDevices(gxPrinter aPrinter)
  1060.  FOURWORDINLINE(0x203C, 0x0000, 44, 0xABFE);
  1061. extern pascal gxViewDevice GXGetPrinterViewDevice(gxPrinter aPrinter, long whichViewDevice)
  1062.  FOURWORDINLINE(0x203C, 0x0000, 45, 0xABFE);
  1063. extern pascal void GXSelectPrinterViewDevice(gxPrinter aPrinter, long whichViewDevice)
  1064.  FOURWORDINLINE(0x203C, 0x0000, 46, 0xABFE);
  1065. extern pascal void GXGetPrinterName(gxPrinter aPrinter, Str31 printerName)
  1066.  FOURWORDINLINE(0x203C, 0x0000, 47, 0xABFE);
  1067. extern pascal OSType GXGetPrinterType(gxPrinter aPrinter)
  1068.  FOURWORDINLINE(0x203C, 0x0000, 48, 0xABFE);
  1069. extern pascal void GXGetPrinterDriverName(gxPrinter aPrinter, Str31 driverName)
  1070.  FOURWORDINLINE(0x203C, 0x0000, 49, 0xABFE);
  1071. extern pascal OSType GXGetPrinterDriverType(gxPrinter aPrinter)
  1072.  FOURWORDINLINE(0x203C, 0x0000, 50, 0xABFE);
  1073. /*
  1074.     Dialog Routines
  1075. */
  1076. extern pascal gxDialogResult GXJobDefaultFormatDialog(gxJob aJob, gxEditMenuRecord *anEditMenuRec)
  1077.  FOURWORDINLINE(0x203C, 0x0000, 16, 0xABFE);
  1078. extern pascal gxDialogResult GXJobPrintDialog(gxJob aJob, gxEditMenuRecord *anEditMenuRec)
  1079.  FOURWORDINLINE(0x203C, 0x0000, 17, 0xABFE);
  1080. extern pascal gxDialogResult GXFormatDialog(gxFormat aFormat, gxEditMenuRecord *anEditMenuRec, StringPtr title)
  1081.  FOURWORDINLINE(0x203C, 0x0000, 18, 0xABFE);
  1082. extern pascal void GXEnableJobScalingPanel(gxJob aJob, Boolean enabled)
  1083.  FOURWORDINLINE(0x203C, 0x0000, 64, 0xABFE);
  1084. extern pascal void GXGetJobPanelDimensions(gxJob aJob, Rect *panelArea)
  1085.  FOURWORDINLINE(0x203C, 0x0000, 65, 0xABFE);
  1086. /*
  1087.     Spooling Routines
  1088. */
  1089. extern pascal void GXGetJobPageRange(gxJob theJob, long *firstPage, long *lastPage)
  1090.  FOURWORDINLINE(0x203C, 0x0000, 23, 0xABFE);
  1091. extern pascal void GXStartJob(gxJob theJob, StringPtr docName, long pageCount)
  1092.  FOURWORDINLINE(0x203C, 0x0000, 24, 0xABFE);
  1093. extern pascal void GXPrintPage(gxJob theJob, long pageNumber, gxFormat theFormat, gxShape thePage)
  1094.  FOURWORDINLINE(0x203C, 0x0000, 25, 0xABFE);
  1095. extern pascal Boolean GXStartPage(gxJob theJob, long pageNumber, gxFormat theFormat, long numViewPorts, gxViewPort *viewPortList)
  1096.  FOURWORDINLINE(0x203C, 0x0000, 26, 0xABFE);
  1097. extern pascal void GXFinishPage(gxJob theJob)
  1098.  FOURWORDINLINE(0x203C, 0x0000, 27, 0xABFE);
  1099. extern pascal void GXFinishJob(gxJob theJob)
  1100.  FOURWORDINLINE(0x203C, 0x0000, 28, 0xABFE);
  1101. /*
  1102.     PrintFile Routines
  1103. */
  1104. extern pascal gxPrintFile GXOpenPrintFile(gxJob theJob, FSSpecPtr anFSSpec, char permission)
  1105.  FOURWORDINLINE(0x203C, 0x0000, 74, 0xABFE);
  1106. extern pascal void GXClosePrintFile(gxPrintFile aPrintFile)
  1107.  FOURWORDINLINE(0x203C, 0x0000, 75, 0xABFE);
  1108. extern pascal gxJob GXGetPrintFileJob(gxPrintFile aPrintFile)
  1109.  FOURWORDINLINE(0x203C, 0x0000, 76, 0xABFE);
  1110. extern pascal long GXCountPrintFilePages(gxPrintFile aPrintFile)
  1111.  FOURWORDINLINE(0x203C, 0x0000, 77, 0xABFE);
  1112. extern pascal void GXReadPrintFilePage(gxPrintFile aPrintFile, long pageNumber, long numViewPorts, gxViewPort *viewPortList, gxFormat *pgFormat, gxShape *pgShape)
  1113.  FOURWORDINLINE(0x203C, 0x0000, 78, 0xABFE);
  1114. extern pascal void GXReplacePrintFilePage(gxPrintFile aPrintFile, long pageNumber, gxFormat aFormat, gxShape aShape)
  1115.  FOURWORDINLINE(0x203C, 0x0000, 79, 0xABFE);
  1116. extern pascal void GXInsertPrintFilePage(gxPrintFile aPrintFile, long atPageNumber, gxFormat pgFormat, gxShape pgShape)
  1117.  FOURWORDINLINE(0x203C, 0x0000, 80, 0xABFE);
  1118. extern pascal void GXDeletePrintFilePageRange(gxPrintFile aPrintFile, long fromPageNumber, long toPageNumber)
  1119.  FOURWORDINLINE(0x203C, 0x0000, 81, 0xABFE);
  1120. extern pascal void GXSavePrintFile(gxPrintFile aPrintFile, FSSpec *anFSSpec)
  1121.  FOURWORDINLINE(0x203C, 0x0000, 82, 0xABFE);
  1122. /*
  1123.     ColorSync Routines
  1124. */
  1125. extern pascal long GXFindPrinterProfile(gxPrinter aPrinter, void *searchData, long index, gxColorProfile *returnedProfile)
  1126.  FOURWORDINLINE(0x203C, 0x0000, 83, 0xABFE);
  1127. extern pascal long GXFindFormatProfile(gxFormat aFormat, void *searchData, long index, gxColorProfile *returnedProfile)
  1128.  FOURWORDINLINE(0x203C, 0x0000, 84, 0xABFE);
  1129. extern pascal void GXSetPrinterProfile(gxPrinter aPrinter, gxColorProfile oldProfile, gxColorProfile newProfile)
  1130.  FOURWORDINLINE(0x203C, 0x0000, 85, 0xABFE);
  1131. extern pascal void GXSetFormatProfile(gxFormat aFormat, gxColorProfile oldProfile, gxColorProfile newProfile)
  1132.  FOURWORDINLINE(0x203C, 0x0000, 86, 0xABFE);
  1133. /************************************************************************
  1134.                         Start of old "GXPrintingResEquates.h/a/p" interface file.
  1135.                 *************************************************************************/
  1136. /*    ------------------------------------
  1137.                 Basic client types
  1138.     ------------------------------------ */
  1139.  
  1140. enum {
  1141.     gxPrintingManagerType        = 'pmgr',
  1142.     gxImagingSystemType            = 'gxis',
  1143.     gxPrinterDriverType            = 'pdvr',
  1144.     gxPrintingExtensionType        = 'pext',
  1145.     gxUnknownPrinterType        = 'none',
  1146.     gxAnyPrinterType            = 'univ',
  1147.     gxQuickdrawPrinterType        = 'qdrw',
  1148.     gxPortableDocPrinterType    = 'gxpd',
  1149.     gxRasterPrinterType            = 'rast',
  1150.     gxPostscriptPrinterType        = 'post',
  1151.     gxVectorPrinterType            = 'vect'
  1152. };
  1153.  
  1154. /* All pre-defined printing collection items have this ID */
  1155. enum {
  1156.     gxPrintingTagID                = -28672
  1157. };
  1158.  
  1159. /*    ----------------------------------------------------------------------
  1160.  
  1161.         Resource types and IDs used by both extension and driver writers
  1162.  
  1163.     ---------------------------------------------------------------------- */
  1164. /* Resources in a printer driver or extension must be based off of these IDs */
  1165. enum {
  1166.     gxPrintingDriverBaseID        = -27648,
  1167.     gxPrintingExtensionBaseID    = -27136
  1168. };
  1169.  
  1170. /*    Override resources tell the system what messages a driver or extension
  1171.         is overriding.  A driver may have a series of these resources. */
  1172. enum {
  1173.     gxOverrideType                = 'over'
  1174. };
  1175.  
  1176. /*    --------------------------------------------------------------
  1177.  
  1178.         Message ID definitions by both extension and driver writers
  1179.  
  1180.     --------------------------------------------------------------- */
  1181. /* Identifiers for universal message overrides. */
  1182. enum {
  1183.     gxInitializeMsg                = 0,
  1184.     gxShutDownMsg                = 1,
  1185.     gxJobIdleMsg                = 2,
  1186.     gxJobStatusMsg                = 3,
  1187.     gxPrintingEventMsg            = 4,
  1188.     gxJobDefaultFormatDialogMsg    = 5,
  1189.     gxFormatDialogMsg            = 6,
  1190.     gxJobPrintDialogMsg            = 7,
  1191.     gxFilterPanelEventMsg        = 8,
  1192.     gxHandlePanelEventMsg        = 9,
  1193.     gxParsePageRangeMsg            = 10,
  1194.     gxDefaultJobMsg                = 11,
  1195.     gxDefaultFormatMsg            = 12,
  1196.     gxDefaultPaperTypeMsg        = 13,
  1197.     gxDefaultPrinterMsg            = 14,
  1198.     gxCreateSpoolFileMsg        = 15,
  1199.     gxSpoolPageMsg                = 16,
  1200.     gxSpoolDataMsg                = 17,
  1201.     gxSpoolResourceMsg            = 18,
  1202.     gxCompleteSpoolFileMsg        = 19,
  1203.     gxCountPagesMsg                = 20,
  1204.     gxDespoolPageMsg            = 21,
  1205.     gxDespoolDataMsg            = 22,
  1206.     gxDespoolResourceMsg        = 23,
  1207.     gxCloseSpoolFileMsg            = 24,
  1208.     gxStartJobMsg                = 25,
  1209.     gxFinishJobMsg                = 26,
  1210.     gxStartPageMsg                = 27,
  1211.     gxFinishPageMsg                = 28,
  1212.     gxPrintPageMsg                = 29,
  1213.     gxSetupImageDataMsg            = 30,
  1214.     gxImageJobMsg                = 31,
  1215.     gxImageDocumentMsg            = 32,
  1216.     gxImagePageMsg                = 33,
  1217.     gxRenderPageMsg                = 34,
  1218.     gxCreateImageFileMsg        = 35,
  1219.     gxOpenConnectionMsg            = 36,
  1220.     gxCloseConnectionMsg        = 37,
  1221.     gxStartSendPageMsg            = 38,
  1222.     gxFinishSendPageMsg            = 39,
  1223.     gxWriteDataMsg                = 40,
  1224.     gxBufferDataMsg                = 41,
  1225.     gxDumpBufferMsg                = 42,
  1226.     gxFreeBufferMsg                = 43,
  1227.     gxCheckStatusMsg            = 44,
  1228.     gxGetDeviceStatusMsg        = 45,
  1229.     gxFetchTaggedDataMsg        = 46,
  1230.     gxGetDTPMenuListMsg            = 47,
  1231.     gxDTPMenuSelectMsg            = 48,
  1232.     gxHandleAlertFilterMsg        = 49,
  1233.     gxJobFormatModeQueryMsg        = 50,
  1234.     gxWriteStatusToDTPWindowMsg    = 51,
  1235.     gxInitializeStatusAlertMsg    = 52,
  1236.     gxHandleAlertStatusMsg        = 53,
  1237.     gxHandleAlertEventMsg        = 54,
  1238.     gxCleanupStartJobMsg        = 55,
  1239.     gxCleanupStartPageMsg        = 56,
  1240.     gxCleanupOpenConnectionMsg    = 57,
  1241.     gxCleanupStartSendPageMsg    = 58,
  1242.     gxDefaultDesktopPrinterMsg    = 59,
  1243.     gxCaptureOutputDeviceMsg    = 60,
  1244.     gxOpenConnectionRetryMsg    = 61,
  1245.     gxExamineSpoolFileMsg        = 62,
  1246.     gxFinishSendPlaneMsg        = 63,
  1247.     gxDoesPaperFitMsg            = 64,
  1248.     gxChooserMessageMsg            = 65,
  1249.     gxFindPrinterProfileMsg        = 66,
  1250.     gxFindFormatProfileMsg        = 67,
  1251.     gxSetPrinterProfileMsg        = 68,
  1252.     gxSetFormatProfileMsg        = 69,
  1253.     gxHandleAltDestinationMsg    = 70,
  1254.     gxSetupPageImageDataMsg        = 71
  1255. };
  1256.  
  1257. /* Identifiers for Quickdraw message overrides. */
  1258. enum {
  1259.     gxPrOpenDocMsg                = 0,
  1260.     gxPrCloseDocMsg                = 1,
  1261.     gxPrOpenPageMsg                = 2,
  1262.     gxPrClosePageMsg            = 3,
  1263.     gxPrintDefaultMsg            = 4,
  1264.     gxPrStlDialogMsg            = 5,
  1265.     gxPrJobDialogMsg            = 6,
  1266.     gxPrStlInitMsg                = 7,
  1267.     gxPrJobInitMsg                = 8,
  1268.     gxPrDlgMainMsg                = 9,
  1269.     gxPrValidateMsg                = 10,
  1270.     gxPrJobMergeMsg                = 11,
  1271.     gxPrGeneralMsg                = 12,
  1272.     gxConvertPrintRecordToMsg    = 13,
  1273.     gxConvertPrintRecordFromMsg    = 14,
  1274.     gxPrintRecordToJobMsg        = 15
  1275. };
  1276.  
  1277. /* Identifiers for raster imaging message overrides. */
  1278. enum {
  1279.     gxRasterDataInMsg            = 0,
  1280.     gxRasterLineFeedMsg            = 1,
  1281.     gxRasterPackageBitmapMsg    = 2
  1282. };
  1283.  
  1284. /* Identifiers for PostScript imaging message overrides. */
  1285. enum {
  1286.     gxPostscriptQueryPrinterMsg    = 0,
  1287.     gxPostscriptInitializePrinterMsg = 1,
  1288.     gxPostscriptResetPrinterMsg    = 2,
  1289.     gxPostscriptExitServerMsg    = 3,
  1290.     gxPostscriptGetStatusTextMsg = 4,
  1291.     gxPostscriptGetPrinterTextMsg = 5,
  1292.     gxPostscriptScanStatusTextMsg = 6,
  1293.     gxPostscriptScanPrinterTextMsg = 7,
  1294.     gxPostscriptGetDocumentProcSetListMsg = 8,
  1295.     gxPostscriptDownloadProcSetListMsg = 9,
  1296.     gxPostscriptGetPrinterGlyphsInformationMsg = 10,
  1297.     gxPostscriptStreamFontMsg    = 11,
  1298.     gxPostscriptDoDocumentHeaderMsg = 12,
  1299.     gxPostscriptDoDocumentSetUpMsg = 13,
  1300.     gxPostscriptDoDocumentTrailerMsg = 14,
  1301.     gxPostscriptDoPageSetUpMsg    = 15,
  1302.     gxPostscriptSelectPaperTypeMsg = 16,
  1303.     gxPostscriptDoPageTrailerMsg = 17,
  1304.     gxPostscriptEjectPageMsg    = 18,
  1305.     gxPostscriptProcessShapeMsg    = 19,
  1306.     gxPostScriptEjectPendingPageMsg = 20
  1307. };
  1308.  
  1309. /* Identifiers for Vector imaging message overrides. */
  1310. enum {
  1311.     gxVectorPackageDataMsg        = 0,
  1312.     gxVectorLoadPensMsg            = 1,
  1313.     gxVectorVectorizeShapeMsg    = 2
  1314. };
  1315.  
  1316. /* Dialog related resource types */
  1317. enum {
  1318.     gxPrintingAlertType            = 'plrt',
  1319.     gxStatusType                = 'stat',
  1320.     gxExtendedDITLType            = 'xdtl',
  1321.     gxPrintPanelType            = 'ppnl',
  1322.     gxCollectionType            = 'cltn'
  1323. };
  1324.  
  1325. /* Communication resource types */
  1326. /*
  1327.     The looker resource is used by the Chooser PACK to determine what kind
  1328.     of communications this driver supports. (In order to generate/handle the 
  1329.     pop-up menu for "Connect via:".
  1330.     
  1331.     The looker resource is also used by PrinterShare to determine the AppleTalk NBP Type
  1332.     for servers created for this driver.
  1333. */
  1334. enum {
  1335.     gxLookerType                = 'look',
  1336.     gxLookerID                    = -4096
  1337. };
  1338.  
  1339. /* The communications method and private data used to connect to the printer */
  1340. enum {
  1341.     gxDeviceCommunicationsType    = 'comm'
  1342. };
  1343.  
  1344. /*    -------------------------------------------------
  1345.  
  1346.     Resource types and IDs used by extension writers
  1347.  
  1348.     ------------------------------------------------- */
  1349. enum {
  1350.     gxExtensionUniversalOverrideID = gxPrintingExtensionBaseID
  1351. };
  1352.  
  1353. enum {
  1354.     gxExtensionImagingOverrideSelectorID = gxPrintingExtensionBaseID
  1355. };
  1356.  
  1357. enum {
  1358.     gxExtensionScopeType        = 'scop',
  1359.     gxDriverScopeID                = gxPrintingExtensionBaseID,
  1360.     gxPrinterScopeID            = gxPrintingExtensionBaseID + 1,
  1361.     gxPrinterExceptionScopeID    = gxPrintingExtensionBaseID + 2
  1362. };
  1363.  
  1364. enum {
  1365.     gxExtensionLoadType            = 'load',
  1366.     gxExtensionLoadID            = gxPrintingExtensionBaseID
  1367. };
  1368.  
  1369. enum {
  1370.     gxExtensionLoadFirst        = 0x00000100,
  1371.     gxExtensionLoadAnywhere        = 0x7FFFFFFF,
  1372.     gxExtensionLoadLast            = 0xFFFFFF00
  1373. };
  1374.  
  1375. enum {
  1376.     gxExtensionOptimizationType    = 'eopt',
  1377.     gxExtensionOptimizationID    = gxPrintingExtensionBaseID
  1378. };
  1379.  
  1380. /*    -----------------------------------------------
  1381.  
  1382.     Resource types and IDs used by driver writers
  1383.  
  1384.     ----------------------------------------------- */
  1385. enum {
  1386.     gxDriverUniversalOverrideID    = gxPrintingDriverBaseID,
  1387.     gxDriverImagingOverrideID    = gxPrintingDriverBaseID + 1,
  1388.     gxDriverCompatibilityOverrideID = gxPrintingDriverBaseID + 2
  1389. };
  1390.  
  1391. enum {
  1392.     gxDriverFileFormatType        = 'pfil',
  1393.     gxDriverFileFormatID        = gxPrintingDriverBaseID
  1394. };
  1395.  
  1396. enum {
  1397.     gxDestinationAdditionType    = 'dsta',
  1398.     gxDestinationAdditionID        = gxPrintingDriverBaseID
  1399. };
  1400.  
  1401. /* IMAGING RESOURCES */
  1402. /*    The imaging system resource specifies which imaging system a printer
  1403.         driver wishes to use. */
  1404. enum {
  1405.     gxImagingSystemSelectorType    = 'isys',
  1406.     gxImagingSystemSelectorID    = gxPrintingDriverBaseID
  1407. };
  1408.  
  1409. /* 'exft' resource ID -- exclude font list */
  1410. enum {
  1411.     kExcludeFontListType        = 'exft',
  1412.     kExcludeFontListID            = gxPrintingDriverBaseID
  1413. };
  1414.  
  1415. /* Resource for type for color matching */
  1416. enum {
  1417.     gxColorMatchingDataType        = 'prof',
  1418.     gxColorMatchingDataID        = gxPrintingDriverBaseID
  1419. };
  1420.  
  1421. /* Resource type and id for the tray count */
  1422. enum {
  1423.     gxTrayCountDataType            = 'tray',
  1424.     gxTrayCountDataID            = gxPrintingDriverBaseID
  1425. };
  1426.  
  1427. /* Resource type for the tray names */
  1428. enum {
  1429.     gxTrayNameDataType            = 'tryn'
  1430. };
  1431.  
  1432. /* Resource type for manual feed preferences, stored in DTP. */
  1433. enum {
  1434.     gxManualFeedAlertPrefsType    = 'mfpr',
  1435.     gxManualFeedAlertPrefsID    = gxPrintingDriverBaseID
  1436. };
  1437.  
  1438. /* Resource type for desktop printer output characteristics, stored in DTP. */
  1439. enum {
  1440.     gxDriverOutputType            = 'outp',
  1441.     gxDriverOutputTypeID        = 1
  1442. };
  1443.  
  1444. /* IO Resources */
  1445. /* Resource type and ID for default IO and buffering resources */
  1446. enum {
  1447.     gxUniversalIOPrefsType        = 'iobm',
  1448.     gxUniversalIOPrefsID        = gxPrintingDriverBaseID
  1449. };
  1450.  
  1451. /*    Resource types and IDs for default implementation of CaptureOutputDevice.
  1452.         The default implementation of CaptureOutputDevice only handles PAP devices */
  1453. enum {
  1454.     gxCaptureType                = 'cpts',
  1455.     gxCaptureStringID            = gxPrintingDriverBaseID,
  1456.     gxReleaseStringID            = gxPrintingDriverBaseID + 1,
  1457.     gxUncapturedAppleTalkType    = gxPrintingDriverBaseID + 2,
  1458.     gxCapturedAppleTalkType        = gxPrintingDriverBaseID + 3
  1459. };
  1460.  
  1461. /* Resource type and ID for custom halftone matrix */
  1462. enum {
  1463.     gxCustomMatrixType            = 'dmat',
  1464.     gxCustomMatrixID            = gxPrintingDriverBaseID
  1465. };
  1466.  
  1467. /* Resource type and ID for raster driver rendering preferences */
  1468. enum {
  1469.     gxRasterPrefsType            = 'rdip',
  1470.     gxRasterPrefsID                = gxPrintingDriverBaseID
  1471. };
  1472.  
  1473. /* Resource type for specifiying a colorset */
  1474. enum {
  1475.     gxColorSetResType            = 'crst'
  1476. };
  1477.  
  1478. /* Resource type and ID for raster driver packaging preferences */
  1479. enum {
  1480.     gxRasterPackType            = 'rpck',
  1481.     gxRasterPackID                = gxPrintingDriverBaseID
  1482. };
  1483.  
  1484. /* Resource type and ID for raster driver packaging options */
  1485. enum {
  1486.     gxRasterNumNone                = 0,                            /* Number isn't output at all */
  1487.     gxRasterNumDirect            = 1,                            /* Lowest minWidth bytes as data */
  1488.     gxRasterNumToASCII            = 2                                /* minWidth ASCII characters */
  1489. };
  1490.  
  1491. enum {
  1492.     gxRasterPackOptionsType        = 'ropt',
  1493.     gxRasterPackOptionsID        = gxPrintingDriverBaseID
  1494. };
  1495.  
  1496. /* Resource type for the PostScript imaging system procedure set control resource */
  1497. enum {
  1498.     gxPostscriptProcSetControlType = 'prec'
  1499. };
  1500.  
  1501. /* Resource type for the PostScript imaging system printer font resource */
  1502. enum {
  1503.     gxPostscriptPrinterFontType    = 'pfnt'
  1504. };
  1505.  
  1506. /* Resource type and id for the PostScript imaging system imaging preferences */
  1507. enum {
  1508.     gxPostscriptPrefsType        = 'pdip',
  1509.     gxPostscriptPrefsID            = gxPrintingDriverBaseID
  1510. };
  1511.  
  1512. /* Resource type and id for the PostScript imaging system default scanning code */
  1513. enum {
  1514.     gxPostscriptScanningType    = 'scan',
  1515.     gxPostscriptScanningID        = gxPrintingDriverBaseID
  1516. };
  1517.  
  1518. /* Old Application Support Resources */
  1519. enum {
  1520.     gxCustType                    = 'cust',
  1521.     gxCustID                    = -8192
  1522. };
  1523.  
  1524. enum {
  1525.     gxReslType                    = 'resl',
  1526.     gxReslID                    = -8192
  1527. };
  1528.  
  1529. enum {
  1530.     gxDiscreteResolution        = 0
  1531. };
  1532.  
  1533. enum {
  1534.     gxStlDialogResID            = -8192
  1535. };
  1536.  
  1537. enum {
  1538.     gxJobDialogResID            = -8191
  1539. };
  1540.  
  1541. enum {
  1542.     gxScaleTableType            = 'stab',
  1543.     gxDITLControlType            = 'dctl'
  1544. };
  1545.  
  1546. /*    The default implementation of gxPrintDefault loads and
  1547.     PrValidates a print record stored in the following driver resource. */
  1548. enum {
  1549.     gxPrintRecordType            = 'PREC',
  1550.     gxDefaultPrintRecordID        = 0
  1551. };
  1552.  
  1553. /*
  1554.     -----------------------------------------------
  1555.  
  1556.     Resource types and IDs used in papertype files
  1557.  
  1558.     -----------------------------------------------
  1559. */
  1560. /* Resource type and ID for driver papertypes placed in individual files */
  1561. enum {
  1562.     gxSignatureType                = 'sig ',
  1563.     gxPapertypeSignatureID        = 0
  1564. };
  1565.  
  1566. /* Papertype creator types */
  1567. enum {
  1568.     gxDrvrPaperType                = 'drpt',
  1569.     gxSysPaperType                = 'sypt',                        /* System paper type creator */
  1570.     gxUserPaperType                = 'uspt',                        /* User paper type creator */
  1571. /* Driver creator types == driver file's creator value */
  1572.     gxPaperTypeType                = 'ptyp'
  1573. };
  1574.  
  1575. /*********************************************************************
  1576.                     Start of old "GXPrintingMessages.h/a/p" interface file.
  1577.             **********************************************************************/
  1578. /* ------------------------------------------------------------------------------
  1579.  
  1580.                                     Constants and Types
  1581.  
  1582. -------------------------------------------------------------------------------- */
  1583. /*
  1584.  
  1585.     ABSTRACT DATA TYPES
  1586.  
  1587. */
  1588. typedef struct gxPrivateFileRecord *gxSpoolFile;
  1589.  
  1590. typedef long gxPanelEvent;
  1591.  
  1592. /* Dialog panel event equates */
  1593.  
  1594. enum {
  1595.     gxPanelNoEvt                = (gxPanelEvent)0,
  1596.     gxPanelOpenEvt                = (gxPanelEvent)1,                /* Initialize and draw */
  1597.     gxPanelCloseEvt                = (gxPanelEvent)2,                /* Your panel is going away (panel switch, confirm or cancel) */
  1598.     gxPanelHitEvt                = (gxPanelEvent)3,                /* There's a hit in your panel */
  1599.     gxPanelActivateEvt            = (gxPanelEvent)4,                /* The dialog window has just been activated */
  1600.     gxPanelDeactivateEvt        = (gxPanelEvent)5,                /* The dialog window is about to be deactivated */
  1601.     gxPanelIconFocusEvt            = (gxPanelEvent)6,                /* The focus changes from the panel to the icon list */
  1602.     gxPanelPanelFocusEvt        = (gxPanelEvent)7,                /* The focus changes from the icon list to the panel */
  1603.     gxPanelFilterEvt            = (gxPanelEvent)8,                /* Every event is filtered */
  1604.     gxPanelCancelEvt            = (gxPanelEvent)9,                /* The user has cancelled the dialog */
  1605.     gxPanelConfirmEvt            = (gxPanelEvent)10,                /* The user has confirmed the dialog */
  1606.     gxPanelDialogEvt            = (gxPanelEvent)11,                /* Event to be handle by dialoghandler */
  1607.     gxPanelOtherEvt                = (gxPanelEvent)12,                /* osEvts, etc. */
  1608.     gxPanelUserWillConfirmEvt    = (gxPanelEvent)13                /* User has selected confirm, time to parse panel interdependencies */
  1609. };
  1610.  
  1611. /* Constants for panel responses to dialog handler calls */
  1612. typedef long gxPanelResult;
  1613.  
  1614.  
  1615. enum {
  1616.     gxPanelNoResult                = 0,
  1617.     gxPanelCancelConfirmation    = 1                                /* Only valid from panelUserWillConfirmEvt - used to keep the dialog from going away */
  1618. };
  1619.  
  1620. /* Panel event info record for FilterPanelEvent and HandlePanelEvent messages */
  1621. struct gxPanelInfoRecord {
  1622.     gxPanelEvent                    panelEvt;                    /* Why we were called */
  1623.     short                            panelResId;                    /* 'ppnl' resource id of current panel */
  1624.     DialogPtr                        pDlg;                        /* Pointer to dialog */
  1625.     EventRecord                        *theEvent;                    /* Pointer to event */
  1626.     short                            itemHit;                    /* Actual item number as Dialog Mgr thinks */
  1627.     short                            itemCount;                    /* Number of items before your items */
  1628.     short                            evtAction;                    /* Once this event is processed, the action that will result */
  1629. /* (evtAction is only meaningful during filtering) */
  1630.     short                            errorStringId;                /* STR id of string to put in error alert (0 means no string) */
  1631.     gxFormat                        theFormat;                    /* The current format (only meaningful in a format dialog) */
  1632.     void                            *refCon;                    /* refCon passed in PanelSetupRecord */
  1633. };
  1634. typedef struct gxPanelInfoRecord gxPanelInfoRecord;
  1635.  
  1636. /* Constants for the evtAction field in PanelInfoRecord */
  1637.  
  1638. enum {
  1639.     gxOtherAction                = 0,                            /* Current item will not change */
  1640.     gxClosePanelAction            = 1,                            /* Panel will be closed */
  1641.     gxCancelDialogAction        = 2,                            /* Dialog will be cancelled */
  1642.     gxConfirmDialogAction        = 3                                /* Dialog will be confirmed */
  1643. };
  1644.  
  1645. /* Constants for the panelKind field in gxPanelSetupRecord */
  1646. typedef long gxPrintingPanelKind;
  1647.  
  1648. /* The gxPanelSetupInfo structure is passed to GXSetupDialogPanel */
  1649. struct gxPanelSetupRecord {
  1650.     gxPrintingPanelKind                panelKind;
  1651.     short                            panelResId;
  1652.     short                            resourceRefNum;
  1653.     void                            *refCon;
  1654. };
  1655. typedef struct gxPanelSetupRecord gxPanelSetupRecord;
  1656.  
  1657.  
  1658. enum {
  1659.     gxApplicationPanel            = (gxPrintingPanelKind)0,
  1660.     gxExtensionPanel            = (gxPrintingPanelKind)1,
  1661.     gxDriverPanel                = (gxPrintingPanelKind)2
  1662. };
  1663.  
  1664. /* Constants returned by gxParsePageRange message */
  1665. typedef long gxParsePageRangeResult;
  1666.  
  1667.  
  1668. enum {
  1669.     gxRangeNotParsed            = (gxParsePageRangeResult)0,    /* Default initial value */
  1670.     gxRangeParsed                = (gxParsePageRangeResult)1,    /* Range has been parsed */
  1671.     gxRangeBadFromValue            = (gxParsePageRangeResult)2,    /* From value is bad */
  1672.     gxRangeBadToValue            = (gxParsePageRangeResult)3        /* To value is bad */
  1673. };
  1674.  
  1675. /*
  1676.  
  1677.     STATUS-RELATED CONSTANTS AND TYPES
  1678.  
  1679. */
  1680. /* Structure for status messages */
  1681. struct gxStatusRecord {
  1682.     unsigned short                    statusType;                    /* One of the ids listed above (nonFatalError, etc. ) */
  1683.     unsigned short                    statusId;                    /* Specific status (out of paper, etc.) */
  1684.     unsigned short                    statusAlertId;                /*    Printing alert id (if any) for status */
  1685.     gxOwnerSignature                statusOwner;                /* Creator type of status owner */
  1686.     short                            statResId;                    /* ID for 'stat' resource */
  1687.     short                            statResIndex;                /* Index into 'stat' resource for this status */
  1688.     short                            dialogResult;                /* ID of button string selected on dismissal of printing alert */
  1689.     unsigned short                    bufferLen;                    /* Number of bytes in status buffer - total record size must be <= 512 */
  1690.     char                            statusBuffer[1];            /* User response from alert */
  1691. };
  1692. typedef struct gxStatusRecord gxStatusRecord;
  1693.  
  1694. /* Constants for statusType field of gxStatusRecord */
  1695.  
  1696. enum {
  1697.     gxNonFatalError                = 1,                            /* An error occurred, but the job can continue */
  1698.     gxFatalError                = 2,                            /* A fatal error occurred-- halt job */
  1699.     gxPrinterReady                = 3,                            /* Tells QDGX to leave alert mode */
  1700.     gxUserAttention                = 4,                            /* Signals initiation of a modal alert */
  1701.     gxUserAlert                    = 5,                            /* Signals initiation of a moveable modal alert */
  1702.     gxPageTransmission            = 6,                            /* Signals page sent to printer, increments page count in strings to user */
  1703.     gxOpenConnectionStatus        = 7,                            /* Signals QDGX to begin animation on printer icon */
  1704.     gxInformationalStatus        = 8,                            /* Default status type, no side effects */
  1705.     gxSpoolingPageStatus        = 9,                            /* Signals page spooled, increments page count in spooling dialog */
  1706.     gxEndStatus                    = 10,                            /* Signals end of spooling */
  1707.     gxPercentageStatus            = 11                            /* Signals QDGX as to the amount of the job which is currently complete */
  1708. };
  1709.  
  1710. /* Structure for gxWriteStatusToDTPWindow message */
  1711. struct gxDisplayRecord {
  1712.     Boolean                            useText;                    /* Use text as opposed to a picture */
  1713.     char                            padByte;
  1714.     Handle                            hPicture;                    /* if !useText, the picture handle */
  1715.     Str255                            theText;                    /* if useText, the text */
  1716. };
  1717. typedef struct gxDisplayRecord gxDisplayRecord;
  1718.  
  1719. /*-----------------------------------------------*/
  1720. /* paper mapping-related constants and types...  */
  1721. /*-----------------------------------------------*/
  1722. typedef long gxTrayMapping;
  1723.  
  1724.  
  1725. enum {
  1726.     gxDefaultTrayMapping        = (gxTrayMapping)0,
  1727.     gxConfiguredTrayMapping        = (gxTrayMapping)1
  1728. };
  1729.  
  1730. /* ------------------------------------------------------------------------------
  1731.  
  1732.                 API Functions callable only from within message overrides
  1733.  
  1734. -------------------------------------------------------------------------------- */
  1735. #if !GENERATINGPOWERPC
  1736. extern OSErr GXPrintingDispatch(long selector, ...)
  1737.  SIXWORDINLINE(0x221F, 0x203C, 0x0001, 0x0000, 0xABFE, 0x598F);
  1738. #endif
  1739. extern gxJob GXGetJob(void)
  1740.  FOURWORDINLINE(0x203C, 0x0001, 1, 0xABFE);
  1741. extern short GXGetMessageHandlerResFile(void)
  1742.  FOURWORDINLINE(0x203C, 0x0001, 2, 0xABFE);
  1743. extern Boolean GXSpoolingAborted(void)
  1744.  FOURWORDINLINE(0x203C, 0x0001, 3, 0xABFE);
  1745. extern OSErr GXJobIdle(void)
  1746.  FOURWORDINLINE(0x203C, 0x0001, 4, 0xABFE);
  1747. extern OSErr GXReportStatus(long statusID, unsigned long statusIndex)
  1748.  FOURWORDINLINE(0x203C, 0x0001, 5, 0xABFE);
  1749. extern OSErr GXAlertTheUser(gxStatusRecord *statusRec)
  1750.  FOURWORDINLINE(0x203C, 0x0001, 6, 0xABFE);
  1751. extern OSErr GXSetupDialogPanel(gxPanelSetupRecord *panelRec)
  1752.  FOURWORDINLINE(0x203C, 0x0001, 7, 0xABFE);
  1753. extern OSErr GXCountTrays(gxTrayIndex *numTrays)
  1754.  FOURWORDINLINE(0x203C, 0x0001, 8, 0xABFE);
  1755. extern OSErr GXGetTrayName(gxTrayIndex trayNumber, Str31 trayName)
  1756.  FOURWORDINLINE(0x203C, 0x0001, 9, 0xABFE);
  1757. extern OSErr GXSetTrayPaperType(gxTrayIndex whichTray, gxPaperType aPapertype)
  1758.  FOURWORDINLINE(0x203C, 0x0001, 10, 0xABFE);
  1759. extern OSErr GXGetTrayPaperType(gxTrayIndex whichTray, gxPaperType aPapertype)
  1760.  FOURWORDINLINE(0x203C, 0x0001, 11, 0xABFE);
  1761. extern OSErr GXGetTrayMapping(gxTrayMapping *trayMapping)
  1762.  FOURWORDINLINE(0x203C, 0x0001, 12, 0xABFE);
  1763. extern void GXCleanupStartJob(void)
  1764.  FOURWORDINLINE(0x203C, 0x0001, 13, 0xABFE);
  1765. extern void GXCleanupStartPage(void)
  1766.  FOURWORDINLINE(0x203C, 0x0001, 14, 0xABFE);
  1767. extern void GXCleanupOpenConnection(void)
  1768.  FOURWORDINLINE(0x203C, 0x0001, 15, 0xABFE);
  1769. extern void GXCleanupStartSendPage(void)
  1770.  FOURWORDINLINE(0x203C, 0x0001, 16, 0xABFE);
  1771. /* ------------------------------------------------------------------------------
  1772.  
  1773.                     Constants and types for Universal Printing Messages
  1774.  
  1775. -------------------------------------------------------------------------------- */
  1776. /* Options for gxCreateSpoolFile message */
  1777.  
  1778. enum {
  1779.     gxNoCreateOptions            = 0x00000000,                    /* Just create the file */
  1780.     gxInhibitAlias                = 0x00000001,                    /* Do not create an alias in the PMD folder */
  1781.     gxInhibitUniqueName            = 0x00000002,                    /* Do not append to the filename to make it unique */
  1782.     gxResolveBitmapAlias        = 0x00000004                    /* Resolve bitmap aliases and duplicate data in file */
  1783. };
  1784.  
  1785. /* Options for gxCloseSpoolFile message */
  1786. enum {
  1787.     gxNoCloseOptions            = 0x00000000,                    /* Just close the file */
  1788.     gxDeleteOnClose                = 0x00000001,                    /* Delete the file rather than closing it */
  1789.     gxUpdateJobData                = 0x00000002,                    /* Write current job information into file prior to closing */
  1790.     gxMakeRemoteFile            = 0x00000004                    /* Mark job as a remote file */
  1791. };
  1792.  
  1793. /* Options for gxCreateImageFile message */
  1794. enum {
  1795.     gxNoImageFile                = 0x00000000,                    /* Don't create image file */
  1796.     gxMakeImageFile                = 0x00000001,                    /* Create an image file */
  1797.     gxEachPlane                    = 0x00000002,                    /* Only save up planes before rewinding */
  1798.     gxEachPage                    = 0x00000004,                    /* Save up entire pages before rewinding */
  1799.     gxEntireFile                = gxEachPlane + gxEachPage        /* Save up the entire file before rewinding */
  1800. };
  1801.  
  1802. /* Options for gxBufferData message */
  1803. enum {
  1804.     gxNoBufferOptions            = 0x00000000,
  1805.     gxMakeBufferHex                = 0x00000001,
  1806.     gxDontSplitBuffer            = 0x00000002
  1807. };
  1808.  
  1809. /* Structure for gxDumpBuffer and gxFreeBuffer messages */
  1810. struct gxPrintingBuffer {
  1811.     long                            size;                        /* Size of buffer in bytes */
  1812.     long                            userData;                    /* Client assigned id for the buffer */
  1813.     char                            data[1];                    /* Array of size bytes */
  1814. };
  1815. typedef struct gxPrintingBuffer gxPrintingBuffer;
  1816.  
  1817. /* Structure for gxRenderPage message */
  1818. struct gxPageInfoRecord {
  1819.     long                            docPageNum;                    /* Number of page being printed */
  1820.     long                            copyNum;                    /* Copy number being printed */
  1821.     Boolean                            formatChanged;                /* True if format changed from last page */
  1822.     Boolean                            pageChanged;                /* True if page contents changed from last page */
  1823.     long                            internalUse;                /* Private */
  1824. };
  1825. typedef struct gxPageInfoRecord gxPageInfoRecord;
  1826.  
  1827. /* ------------------------------------------------------------------------------
  1828.  
  1829.                                 Universal Printing Messages
  1830.  
  1831. -------------------------------------------------------------------------------- */
  1832. #define Send_GXFetchTaggedDriverData(tag, id, pHandle) Send_GXFetchTaggedData(tag, id, pHandle, 'drvr')
  1833. #define Forward_GXFetchTaggedDriverData(tag, id, pHandle) Forward_GXFetchTaggedData(tag, id, pHandle, 'drvr')
  1834. typedef OSErr (*GXJobIdleProcPtr)(void);
  1835.  
  1836. #if GENERATINGCFM
  1837. typedef UniversalProcPtr GXJobIdleUPP;
  1838. #else
  1839. typedef GXJobIdleProcPtr GXJobIdleUPP;
  1840. #endif
  1841.  
  1842. enum {
  1843.     uppGXJobIdleProcInfo = kCStackBased
  1844.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  1845. };
  1846.  
  1847. #if GENERATINGCFM
  1848. #define NewGXJobIdleProc(userRoutine)        \
  1849.         (GXJobIdleUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXJobIdleProcInfo, GetCurrentArchitecture())
  1850. #else
  1851. #define NewGXJobIdleProc(userRoutine)        \
  1852.         ((GXJobIdleUPP) (userRoutine))
  1853. #endif
  1854.  
  1855. #if GENERATINGCFM
  1856. #define CallGXJobIdleProc(userRoutine)        \
  1857.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXJobIdleProcInfo)
  1858. #else
  1859. #define CallGXJobIdleProc(userRoutine)        \
  1860.         (*(userRoutine))()
  1861. #endif
  1862.  
  1863. typedef GXJobIdleProcPtr GXJobIdleProc;
  1864.  
  1865. extern OSErr Send_GXJobIdle(void)
  1866.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 2, 0xABFB);
  1867. extern OSErr Forward_GXJobIdle(void)
  1868.  TWOWORDINLINE(0x7036, 0xABFB);
  1869. typedef OSErr (*GXJobStatusProcPtr)(gxStatusRecord *pStatus);
  1870.  
  1871. #if GENERATINGCFM
  1872. typedef UniversalProcPtr GXJobStatusUPP;
  1873. #else
  1874. typedef GXJobStatusProcPtr GXJobStatusUPP;
  1875. #endif
  1876.  
  1877. enum {
  1878.     uppGXJobStatusProcInfo = kCStackBased
  1879.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  1880.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxStatusRecord*)))
  1881. };
  1882.  
  1883. #if GENERATINGCFM
  1884. #define NewGXJobStatusProc(userRoutine)        \
  1885.         (GXJobStatusUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXJobStatusProcInfo, GetCurrentArchitecture())
  1886. #else
  1887. #define NewGXJobStatusProc(userRoutine)        \
  1888.         ((GXJobStatusUPP) (userRoutine))
  1889. #endif
  1890.  
  1891. #if GENERATINGCFM
  1892. #define CallGXJobStatusProc(userRoutine, pStatus)        \
  1893.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXJobStatusProcInfo, (pStatus))
  1894. #else
  1895. #define CallGXJobStatusProc(userRoutine, pStatus)        \
  1896.         (*(userRoutine))((pStatus))
  1897. #endif
  1898.  
  1899. typedef GXJobStatusProcPtr GXJobStatusProc;
  1900.  
  1901. extern OSErr Send_GXJobStatus(gxStatusRecord *pStatus)
  1902.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 3, 0xABFB);
  1903. extern OSErr Forward_GXJobStatus(gxStatusRecord *pStatus)
  1904.  TWOWORDINLINE(0x7036, 0xABFB);
  1905. typedef OSErr (*GXPrintingEventProcPtr)(EventRecord *evtRecord, Boolean filterEvent);
  1906.  
  1907. #if GENERATINGCFM
  1908. typedef UniversalProcPtr GXPrintingEventUPP;
  1909. #else
  1910. typedef GXPrintingEventProcPtr GXPrintingEventUPP;
  1911. #endif
  1912.  
  1913. enum {
  1914.     uppGXPrintingEventProcInfo = kCStackBased
  1915.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  1916.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(EventRecord*)))
  1917.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(Boolean)))
  1918. };
  1919.  
  1920. #if GENERATINGCFM
  1921. #define NewGXPrintingEventProc(userRoutine)        \
  1922.         (GXPrintingEventUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXPrintingEventProcInfo, GetCurrentArchitecture())
  1923. #else
  1924. #define NewGXPrintingEventProc(userRoutine)        \
  1925.         ((GXPrintingEventUPP) (userRoutine))
  1926. #endif
  1927.  
  1928. #if GENERATINGCFM
  1929. #define CallGXPrintingEventProc(userRoutine, evtRecord, filterEvent)        \
  1930.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXPrintingEventProcInfo, (evtRecord), (filterEvent))
  1931. #else
  1932. #define CallGXPrintingEventProc(userRoutine, evtRecord, filterEvent)        \
  1933.         (*(userRoutine))((evtRecord), (filterEvent))
  1934. #endif
  1935.  
  1936. typedef GXPrintingEventProcPtr GXPrintingEventProc;
  1937.  
  1938. extern OSErr Send_GXPrintingEvent(EventRecord *evtRecord, Boolean filterEvent)
  1939.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 4, 0xABFB);
  1940. extern OSErr Forward_GXPrintingEvent(EventRecord *evtRecord, Boolean filterEvent)
  1941.  TWOWORDINLINE(0x7036, 0xABFB);
  1942. typedef OSErr (*GXJobDefaultFormatDialogProcPtr)(gxDialogResult *dlgResult);
  1943.  
  1944. #if GENERATINGCFM
  1945. typedef UniversalProcPtr GXJobDefaultFormatDialogUPP;
  1946. #else
  1947. typedef GXJobDefaultFormatDialogProcPtr GXJobDefaultFormatDialogUPP;
  1948. #endif
  1949.  
  1950. enum {
  1951.     uppGXJobDefaultFormatDialogProcInfo = kCStackBased
  1952.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  1953.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxDialogResult*)))
  1954. };
  1955.  
  1956. #if GENERATINGCFM
  1957. #define NewGXJobDefaultFormatDialogProc(userRoutine)        \
  1958.         (GXJobDefaultFormatDialogUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXJobDefaultFormatDialogProcInfo, GetCurrentArchitecture())
  1959. #else
  1960. #define NewGXJobDefaultFormatDialogProc(userRoutine)        \
  1961.         ((GXJobDefaultFormatDialogUPP) (userRoutine))
  1962. #endif
  1963.  
  1964. #if GENERATINGCFM
  1965. #define CallGXJobDefaultFormatDialogProc(userRoutine, dlgResult)        \
  1966.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXJobDefaultFormatDialogProcInfo, (dlgResult))
  1967. #else
  1968. #define CallGXJobDefaultFormatDialogProc(userRoutine, dlgResult)        \
  1969.         (*(userRoutine))((dlgResult))
  1970. #endif
  1971.  
  1972. typedef GXJobDefaultFormatDialogProcPtr GXJobDefaultFormatDialogProc;
  1973.  
  1974. extern OSErr Send_GXJobDefaultFormatDialog(gxDialogResult *dlgResult)
  1975.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 5, 0xABFB);
  1976. extern OSErr Forward_GXJobDefaultFormatDialog(gxDialogResult *dlgResult)
  1977.  TWOWORDINLINE(0x7036, 0xABFB);
  1978. typedef OSErr (*GXFormatDialogProcPtr)(gxFormat theFormat, StringPtr title, gxDialogResult *dlgResult);
  1979.  
  1980. #if GENERATINGCFM
  1981. typedef UniversalProcPtr GXFormatDialogUPP;
  1982. #else
  1983. typedef GXFormatDialogProcPtr GXFormatDialogUPP;
  1984. #endif
  1985.  
  1986. enum {
  1987.     uppGXFormatDialogProcInfo = kCStackBased
  1988.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  1989.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxFormat)))
  1990.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(StringPtr)))
  1991.          | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(gxDialogResult*)))
  1992. };
  1993.  
  1994. #if GENERATINGCFM
  1995. #define NewGXFormatDialogProc(userRoutine)        \
  1996.         (GXFormatDialogUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXFormatDialogProcInfo, GetCurrentArchitecture())
  1997. #else
  1998. #define NewGXFormatDialogProc(userRoutine)        \
  1999.         ((GXFormatDialogUPP) (userRoutine))
  2000. #endif
  2001.  
  2002. #if GENERATINGCFM
  2003. #define CallGXFormatDialogProc(userRoutine, theFormat, title, dlgResult)        \
  2004.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXFormatDialogProcInfo, (theFormat), (title), (dlgResult))
  2005. #else
  2006. #define CallGXFormatDialogProc(userRoutine, theFormat, title, dlgResult)        \
  2007.         (*(userRoutine))((theFormat), (title), (dlgResult))
  2008. #endif
  2009.  
  2010. typedef GXFormatDialogProcPtr GXFormatDialogProc;
  2011.  
  2012. extern OSErr Send_GXFormatDialog(gxFormat theFormat, StringPtr title, gxDialogResult *dlgResult)
  2013.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 6, 0xABFB);
  2014. extern OSErr Forward_GXFormatDialog(gxFormat theFormat, StringPtr title, gxDialogResult *dlgResult)
  2015.  TWOWORDINLINE(0x7036, 0xABFB);
  2016. typedef OSErr (*GXJobPrintDialogProcPtr)(gxDialogResult *dlgResult);
  2017.  
  2018. #if GENERATINGCFM
  2019. typedef UniversalProcPtr GXJobPrintDialogUPP;
  2020. #else
  2021. typedef GXJobPrintDialogProcPtr GXJobPrintDialogUPP;
  2022. #endif
  2023.  
  2024. enum {
  2025.     uppGXJobPrintDialogProcInfo = kCStackBased
  2026.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  2027.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxDialogResult*)))
  2028. };
  2029.  
  2030. #if GENERATINGCFM
  2031. #define NewGXJobPrintDialogProc(userRoutine)        \
  2032.         (GXJobPrintDialogUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXJobPrintDialogProcInfo, GetCurrentArchitecture())
  2033. #else
  2034. #define NewGXJobPrintDialogProc(userRoutine)        \
  2035.         ((GXJobPrintDialogUPP) (userRoutine))
  2036. #endif
  2037.  
  2038. #if GENERATINGCFM
  2039. #define CallGXJobPrintDialogProc(userRoutine, dlgResult)        \
  2040.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXJobPrintDialogProcInfo, (dlgResult))
  2041. #else
  2042. #define CallGXJobPrintDialogProc(userRoutine, dlgResult)        \
  2043.         (*(userRoutine))((dlgResult))
  2044. #endif
  2045.  
  2046. typedef GXJobPrintDialogProcPtr GXJobPrintDialogProc;
  2047.  
  2048. extern OSErr Send_GXJobPrintDialog(gxDialogResult *dlgResult)
  2049.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 7, 0xABFB);
  2050. extern OSErr Forward_GXJobPrintDialog(gxDialogResult *dlgResult)
  2051.  TWOWORDINLINE(0x7036, 0xABFB);
  2052. typedef OSErr (*GXFilterPanelEventProcPtr)(gxPanelInfoRecord *pHitInfo, Boolean *returnImmed);
  2053.  
  2054. #if GENERATINGCFM
  2055. typedef UniversalProcPtr GXFilterPanelEventUPP;
  2056. #else
  2057. typedef GXFilterPanelEventProcPtr GXFilterPanelEventUPP;
  2058. #endif
  2059.  
  2060. enum {
  2061.     uppGXFilterPanelEventProcInfo = kCStackBased
  2062.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  2063.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxPanelInfoRecord*)))
  2064.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(Boolean*)))
  2065. };
  2066.  
  2067. #if GENERATINGCFM
  2068. #define NewGXFilterPanelEventProc(userRoutine)        \
  2069.         (GXFilterPanelEventUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXFilterPanelEventProcInfo, GetCurrentArchitecture())
  2070. #else
  2071. #define NewGXFilterPanelEventProc(userRoutine)        \
  2072.         ((GXFilterPanelEventUPP) (userRoutine))
  2073. #endif
  2074.  
  2075. #if GENERATINGCFM
  2076. #define CallGXFilterPanelEventProc(userRoutine, pHitInfo, returnImmed)        \
  2077.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXFilterPanelEventProcInfo, (pHitInfo), (returnImmed))
  2078. #else
  2079. #define CallGXFilterPanelEventProc(userRoutine, pHitInfo, returnImmed)        \
  2080.         (*(userRoutine))((pHitInfo), (returnImmed))
  2081. #endif
  2082.  
  2083. typedef GXFilterPanelEventProcPtr GXFilterPanelEventProc;
  2084.  
  2085. extern OSErr Send_GXFilterPanelEvent(gxPanelInfoRecord *pHitInfo, Boolean *returnImmed)
  2086.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 8, 0xABFB);
  2087. typedef OSErr (*GXHandlePanelEventProcPtr)(gxPanelInfoRecord *pHitInfo, gxPanelResult *panelResponse);
  2088.  
  2089. #if GENERATINGCFM
  2090. typedef UniversalProcPtr GXHandlePanelEventUPP;
  2091. #else
  2092. typedef GXHandlePanelEventProcPtr GXHandlePanelEventUPP;
  2093. #endif
  2094.  
  2095. enum {
  2096.     uppGXHandlePanelEventProcInfo = kCStackBased
  2097.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  2098.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxPanelInfoRecord*)))
  2099.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(gxPanelResult*)))
  2100. };
  2101.  
  2102. #if GENERATINGCFM
  2103. #define NewGXHandlePanelEventProc(userRoutine)        \
  2104.         (GXHandlePanelEventUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXHandlePanelEventProcInfo, GetCurrentArchitecture())
  2105. #else
  2106. #define NewGXHandlePanelEventProc(userRoutine)        \
  2107.         ((GXHandlePanelEventUPP) (userRoutine))
  2108. #endif
  2109.  
  2110. #if GENERATINGCFM
  2111. #define CallGXHandlePanelEventProc(userRoutine, pHitInfo, panelResponse)        \
  2112.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXHandlePanelEventProcInfo, (pHitInfo), (panelResponse))
  2113. #else
  2114. #define CallGXHandlePanelEventProc(userRoutine, pHitInfo, panelResponse)        \
  2115.         (*(userRoutine))((pHitInfo), (panelResponse))
  2116. #endif
  2117.  
  2118. typedef GXHandlePanelEventProcPtr GXHandlePanelEventProc;
  2119.  
  2120. extern OSErr Send_GXHandlePanelEvent(gxPanelInfoRecord *pHitInfo, gxPanelResult *panelResponse)
  2121.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 9, 0xABFB);
  2122. typedef OSErr (*GXParsePageRangeProcPtr)(StringPtr fromString, StringPtr toString, gxParsePageRangeResult *result);
  2123.  
  2124. #if GENERATINGCFM
  2125. typedef UniversalProcPtr GXParsePageRangeUPP;
  2126. #else
  2127. typedef GXParsePageRangeProcPtr GXParsePageRangeUPP;
  2128. #endif
  2129.  
  2130. enum {
  2131.     uppGXParsePageRangeProcInfo = kCStackBased
  2132.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  2133.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(StringPtr)))
  2134.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(StringPtr)))
  2135.          | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(gxParsePageRangeResult*)))
  2136. };
  2137.  
  2138. #if GENERATINGCFM
  2139. #define NewGXParsePageRangeProc(userRoutine)        \
  2140.         (GXParsePageRangeUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXParsePageRangeProcInfo, GetCurrentArchitecture())
  2141. #else
  2142. #define NewGXParsePageRangeProc(userRoutine)        \
  2143.         ((GXParsePageRangeUPP) (userRoutine))
  2144. #endif
  2145.  
  2146. #if GENERATINGCFM
  2147. #define CallGXParsePageRangeProc(userRoutine, fromString, toString, result)        \
  2148.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXParsePageRangeProcInfo, (fromString), (toString), (result))
  2149. #else
  2150. #define CallGXParsePageRangeProc(userRoutine, fromString, toString, result)        \
  2151.         (*(userRoutine))((fromString), (toString), (result))
  2152. #endif
  2153.  
  2154. typedef GXParsePageRangeProcPtr GXParsePageRangeProc;
  2155.  
  2156. extern OSErr Send_GXParsePageRange(StringPtr fromString, StringPtr toString, gxParsePageRangeResult *result)
  2157.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 10, 0xABFB);
  2158. extern OSErr Forward_GXParsePageRange(StringPtr fromString, StringPtr toString, gxParsePageRangeResult *result)
  2159.  TWOWORDINLINE(0x7036, 0xABFB);
  2160. typedef OSErr (*GXDefaultJobProcPtr)(void);
  2161.  
  2162. #if GENERATINGCFM
  2163. typedef UniversalProcPtr GXDefaultJobUPP;
  2164. #else
  2165. typedef GXDefaultJobProcPtr GXDefaultJobUPP;
  2166. #endif
  2167.  
  2168. enum {
  2169.     uppGXDefaultJobProcInfo = kCStackBased
  2170.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  2171. };
  2172.  
  2173. #if GENERATINGCFM
  2174. #define NewGXDefaultJobProc(userRoutine)        \
  2175.         (GXDefaultJobUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXDefaultJobProcInfo, GetCurrentArchitecture())
  2176. #else
  2177. #define NewGXDefaultJobProc(userRoutine)        \
  2178.         ((GXDefaultJobUPP) (userRoutine))
  2179. #endif
  2180.  
  2181. #if GENERATINGCFM
  2182. #define CallGXDefaultJobProc(userRoutine)        \
  2183.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXDefaultJobProcInfo)
  2184. #else
  2185. #define CallGXDefaultJobProc(userRoutine)        \
  2186.         (*(userRoutine))()
  2187. #endif
  2188.  
  2189. typedef GXDefaultJobProcPtr GXDefaultJobProc;
  2190.  
  2191. extern OSErr Send_GXDefaultJob(void)
  2192.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 11, 0xABFB);
  2193. extern OSErr Forward_GXDefaultJob(void)
  2194.  TWOWORDINLINE(0x7036, 0xABFB);
  2195. typedef OSErr (*GXDefaultFormatProcPtr)(gxFormat theFormat);
  2196.  
  2197. #if GENERATINGCFM
  2198. typedef UniversalProcPtr GXDefaultFormatUPP;
  2199. #else
  2200. typedef GXDefaultFormatProcPtr GXDefaultFormatUPP;
  2201. #endif
  2202.  
  2203. enum {
  2204.     uppGXDefaultFormatProcInfo = kCStackBased
  2205.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  2206.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxFormat)))
  2207. };
  2208.  
  2209. #if GENERATINGCFM
  2210. #define NewGXDefaultFormatProc(userRoutine)        \
  2211.         (GXDefaultFormatUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXDefaultFormatProcInfo, GetCurrentArchitecture())
  2212. #else
  2213. #define NewGXDefaultFormatProc(userRoutine)        \
  2214.         ((GXDefaultFormatUPP) (userRoutine))
  2215. #endif
  2216.  
  2217. #if GENERATINGCFM
  2218. #define CallGXDefaultFormatProc(userRoutine, theFormat)        \
  2219.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXDefaultFormatProcInfo, (theFormat))
  2220. #else
  2221. #define CallGXDefaultFormatProc(userRoutine, theFormat)        \
  2222.         (*(userRoutine))((theFormat))
  2223. #endif
  2224.  
  2225. typedef GXDefaultFormatProcPtr GXDefaultFormatProc;
  2226.  
  2227. extern OSErr Send_GXDefaultFormat(gxFormat theFormat)
  2228.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 12, 0xABFB);
  2229. extern OSErr Forward_GXDefaultFormat(gxFormat theFormat)
  2230.  TWOWORDINLINE(0x7036, 0xABFB);
  2231. typedef OSErr (*GXDefaultPaperTypeProcPtr)(gxPaperType thePaperType);
  2232.  
  2233. #if GENERATINGCFM
  2234. typedef UniversalProcPtr GXDefaultPaperTypeUPP;
  2235. #else
  2236. typedef GXDefaultPaperTypeProcPtr GXDefaultPaperTypeUPP;
  2237. #endif
  2238.  
  2239. enum {
  2240.     uppGXDefaultPaperTypeProcInfo = kCStackBased
  2241.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  2242.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxPaperType)))
  2243. };
  2244.  
  2245. #if GENERATINGCFM
  2246. #define NewGXDefaultPaperTypeProc(userRoutine)        \
  2247.         (GXDefaultPaperTypeUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXDefaultPaperTypeProcInfo, GetCurrentArchitecture())
  2248. #else
  2249. #define NewGXDefaultPaperTypeProc(userRoutine)        \
  2250.         ((GXDefaultPaperTypeUPP) (userRoutine))
  2251. #endif
  2252.  
  2253. #if GENERATINGCFM
  2254. #define CallGXDefaultPaperTypeProc(userRoutine, thePaperType)        \
  2255.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXDefaultPaperTypeProcInfo, (thePaperType))
  2256. #else
  2257. #define CallGXDefaultPaperTypeProc(userRoutine, thePaperType)        \
  2258.         (*(userRoutine))((thePaperType))
  2259. #endif
  2260.  
  2261. typedef GXDefaultPaperTypeProcPtr GXDefaultPaperTypeProc;
  2262.  
  2263. extern OSErr Send_GXDefaultPaperType(gxPaperType thePaperType)
  2264.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 13, 0xABFB);
  2265. extern OSErr Forward_GXDefaultPaperType(gxPaperType thePaperType)
  2266.  TWOWORDINLINE(0x7036, 0xABFB);
  2267. typedef OSErr (*GXDefaultPrinterProcPtr)(gxPrinter thePrinter);
  2268.  
  2269. #if GENERATINGCFM
  2270. typedef UniversalProcPtr GXDefaultPrinterUPP;
  2271. #else
  2272. typedef GXDefaultPrinterProcPtr GXDefaultPrinterUPP;
  2273. #endif
  2274.  
  2275. enum {
  2276.     uppGXDefaultPrinterProcInfo = kCStackBased
  2277.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  2278.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxPrinter)))
  2279. };
  2280.  
  2281. #if GENERATINGCFM
  2282. #define NewGXDefaultPrinterProc(userRoutine)        \
  2283.         (GXDefaultPrinterUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXDefaultPrinterProcInfo, GetCurrentArchitecture())
  2284. #else
  2285. #define NewGXDefaultPrinterProc(userRoutine)        \
  2286.         ((GXDefaultPrinterUPP) (userRoutine))
  2287. #endif
  2288.  
  2289. #if GENERATINGCFM
  2290. #define CallGXDefaultPrinterProc(userRoutine, thePrinter)        \
  2291.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXDefaultPrinterProcInfo, (thePrinter))
  2292. #else
  2293. #define CallGXDefaultPrinterProc(userRoutine, thePrinter)        \
  2294.         (*(userRoutine))((thePrinter))
  2295. #endif
  2296.  
  2297. typedef GXDefaultPrinterProcPtr GXDefaultPrinterProc;
  2298.  
  2299. extern OSErr Send_GXDefaultPrinter(gxPrinter thePrinter)
  2300.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 14, 0xABFB);
  2301. extern OSErr Forward_GXDefaultPrinter(gxPrinter thePrinter)
  2302.  TWOWORDINLINE(0x7036, 0xABFB);
  2303. typedef OSErr (*GXCreateSpoolFileProcPtr)(FSSpecPtr pFileSpec, long createOptions, gxSpoolFile *theSpoolFile);
  2304.  
  2305. #if GENERATINGCFM
  2306. typedef UniversalProcPtr GXCreateSpoolFileUPP;
  2307. #else
  2308. typedef GXCreateSpoolFileProcPtr GXCreateSpoolFileUPP;
  2309. #endif
  2310.  
  2311. enum {
  2312.     uppGXCreateSpoolFileProcInfo = kCStackBased
  2313.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  2314.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(FSSpecPtr)))
  2315.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(long)))
  2316.          | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(gxSpoolFile*)))
  2317. };
  2318.  
  2319. #if GENERATINGCFM
  2320. #define NewGXCreateSpoolFileProc(userRoutine)        \
  2321.         (GXCreateSpoolFileUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXCreateSpoolFileProcInfo, GetCurrentArchitecture())
  2322. #else
  2323. #define NewGXCreateSpoolFileProc(userRoutine)        \
  2324.         ((GXCreateSpoolFileUPP) (userRoutine))
  2325. #endif
  2326.  
  2327. #if GENERATINGCFM
  2328. #define CallGXCreateSpoolFileProc(userRoutine, pFileSpec, createOptions, theSpoolFile)        \
  2329.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXCreateSpoolFileProcInfo, (pFileSpec), (createOptions), (theSpoolFile))
  2330. #else
  2331. #define CallGXCreateSpoolFileProc(userRoutine, pFileSpec, createOptions, theSpoolFile)        \
  2332.         (*(userRoutine))((pFileSpec), (createOptions), (theSpoolFile))
  2333. #endif
  2334.  
  2335. typedef GXCreateSpoolFileProcPtr GXCreateSpoolFileProc;
  2336.  
  2337. extern OSErr Send_GXCreateSpoolFile(FSSpecPtr pFileSpec, long createOptions, gxSpoolFile *theSpoolFile)
  2338.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 15, 0xABFB);
  2339. extern OSErr Forward_GXCreateSpoolFile(FSSpecPtr pFileSpec, long createOptions, gxSpoolFile *theSpoolFile)
  2340.  TWOWORDINLINE(0x7036, 0xABFB);
  2341. typedef OSErr (*GXSpoolPageProcPtr)(gxSpoolFile theSpoolFile, gxFormat theFormat, gxShape thePage);
  2342.  
  2343. #if GENERATINGCFM
  2344. typedef UniversalProcPtr GXSpoolPageUPP;
  2345. #else
  2346. typedef GXSpoolPageProcPtr GXSpoolPageUPP;
  2347. #endif
  2348.  
  2349. enum {
  2350.     uppGXSpoolPageProcInfo = kCStackBased
  2351.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  2352.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxSpoolFile)))
  2353.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(gxFormat)))
  2354.          | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(gxShape)))
  2355. };
  2356.  
  2357. #if GENERATINGCFM
  2358. #define NewGXSpoolPageProc(userRoutine)        \
  2359.         (GXSpoolPageUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXSpoolPageProcInfo, GetCurrentArchitecture())
  2360. #else
  2361. #define NewGXSpoolPageProc(userRoutine)        \
  2362.         ((GXSpoolPageUPP) (userRoutine))
  2363. #endif
  2364.  
  2365. #if GENERATINGCFM
  2366. #define CallGXSpoolPageProc(userRoutine, theSpoolFile, theFormat, thePage)        \
  2367.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXSpoolPageProcInfo, (theSpoolFile), (theFormat), (thePage))
  2368. #else
  2369. #define CallGXSpoolPageProc(userRoutine, theSpoolFile, theFormat, thePage)        \
  2370.         (*(userRoutine))((theSpoolFile), (theFormat), (thePage))
  2371. #endif
  2372.  
  2373. typedef GXSpoolPageProcPtr GXSpoolPageProc;
  2374.  
  2375. extern OSErr Send_GXSpoolPage(gxSpoolFile theSpoolFile, gxFormat theFormat, gxShape thePage)
  2376.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 16, 0xABFB);
  2377. extern OSErr Forward_GXSpoolPage(gxSpoolFile theSpoolFile, gxFormat theFormat, gxShape thePage)
  2378.  TWOWORDINLINE(0x7036, 0xABFB);
  2379. typedef OSErr (*GXSpoolDataProcPtr)(gxSpoolFile theSpoolFile, Ptr data, long *length);
  2380.  
  2381. #if GENERATINGCFM
  2382. typedef UniversalProcPtr GXSpoolDataUPP;
  2383. #else
  2384. typedef GXSpoolDataProcPtr GXSpoolDataUPP;
  2385. #endif
  2386.  
  2387. enum {
  2388.     uppGXSpoolDataProcInfo = kCStackBased
  2389.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  2390.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxSpoolFile)))
  2391.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(Ptr)))
  2392.          | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(long*)))
  2393. };
  2394.  
  2395. #if GENERATINGCFM
  2396. #define NewGXSpoolDataProc(userRoutine)        \
  2397.         (GXSpoolDataUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXSpoolDataProcInfo, GetCurrentArchitecture())
  2398. #else
  2399. #define NewGXSpoolDataProc(userRoutine)        \
  2400.         ((GXSpoolDataUPP) (userRoutine))
  2401. #endif
  2402.  
  2403. #if GENERATINGCFM
  2404. #define CallGXSpoolDataProc(userRoutine, theSpoolFile, data, length)        \
  2405.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXSpoolDataProcInfo, (theSpoolFile), (data), (length))
  2406. #else
  2407. #define CallGXSpoolDataProc(userRoutine, theSpoolFile, data, length)        \
  2408.         (*(userRoutine))((theSpoolFile), (data), (length))
  2409. #endif
  2410.  
  2411. typedef GXSpoolDataProcPtr GXSpoolDataProc;
  2412.  
  2413. extern OSErr Send_GXSpoolData(gxSpoolFile theSpoolFile, Ptr data, long *length)
  2414.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 17, 0xABFB);
  2415. extern OSErr Forward_GXSpoolData(gxSpoolFile theSpoolFile, Ptr data, long *length)
  2416.  TWOWORDINLINE(0x7036, 0xABFB);
  2417. typedef OSErr (*GXSpoolResourceProcPtr)(gxSpoolFile theSpoolFile, Handle theResource, ResType theType, long id);
  2418.  
  2419. #if GENERATINGCFM
  2420. typedef UniversalProcPtr GXSpoolResourceUPP;
  2421. #else
  2422. typedef GXSpoolResourceProcPtr GXSpoolResourceUPP;
  2423. #endif
  2424.  
  2425. enum {
  2426.     uppGXSpoolResourceProcInfo = kCStackBased
  2427.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  2428.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxSpoolFile)))
  2429.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(Handle)))
  2430.          | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(ResType)))
  2431.          | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(long)))
  2432. };
  2433.  
  2434. #if GENERATINGCFM
  2435. #define NewGXSpoolResourceProc(userRoutine)        \
  2436.         (GXSpoolResourceUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXSpoolResourceProcInfo, GetCurrentArchitecture())
  2437. #else
  2438. #define NewGXSpoolResourceProc(userRoutine)        \
  2439.         ((GXSpoolResourceUPP) (userRoutine))
  2440. #endif
  2441.  
  2442. #if GENERATINGCFM
  2443. #define CallGXSpoolResourceProc(userRoutine, theSpoolFile, theResource, theType, id)        \
  2444.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXSpoolResourceProcInfo, (theSpoolFile), (theResource), (theType), (id))
  2445. #else
  2446. #define CallGXSpoolResourceProc(userRoutine, theSpoolFile, theResource, theType, id)        \
  2447.         (*(userRoutine))((theSpoolFile), (theResource), (theType), (id))
  2448. #endif
  2449.  
  2450. typedef GXSpoolResourceProcPtr GXSpoolResourceProc;
  2451.  
  2452. extern OSErr Send_GXSpoolResource(gxSpoolFile theSpoolFile, Handle theResource, ResType theType, long id)
  2453.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 18, 0xABFB);
  2454. extern OSErr Forward_GXSpoolResource(gxSpoolFile theSpoolFile, Handle theResource, ResType theType, long id)
  2455.  TWOWORDINLINE(0x7036, 0xABFB);
  2456. typedef OSErr (*GXCompleteSpoolFileProcPtr)(gxSpoolFile theSpoolFile);
  2457.  
  2458. #if GENERATINGCFM
  2459. typedef UniversalProcPtr GXCompleteSpoolFileUPP;
  2460. #else
  2461. typedef GXCompleteSpoolFileProcPtr GXCompleteSpoolFileUPP;
  2462. #endif
  2463.  
  2464. enum {
  2465.     uppGXCompleteSpoolFileProcInfo = kCStackBased
  2466.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  2467.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxSpoolFile)))
  2468. };
  2469.  
  2470. #if GENERATINGCFM
  2471. #define NewGXCompleteSpoolFileProc(userRoutine)        \
  2472.         (GXCompleteSpoolFileUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXCompleteSpoolFileProcInfo, GetCurrentArchitecture())
  2473. #else
  2474. #define NewGXCompleteSpoolFileProc(userRoutine)        \
  2475.         ((GXCompleteSpoolFileUPP) (userRoutine))
  2476. #endif
  2477.  
  2478. #if GENERATINGCFM
  2479. #define CallGXCompleteSpoolFileProc(userRoutine, theSpoolFile)        \
  2480.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXCompleteSpoolFileProcInfo, (theSpoolFile))
  2481. #else
  2482. #define CallGXCompleteSpoolFileProc(userRoutine, theSpoolFile)        \
  2483.         (*(userRoutine))((theSpoolFile))
  2484. #endif
  2485.  
  2486. typedef GXCompleteSpoolFileProcPtr GXCompleteSpoolFileProc;
  2487.  
  2488. extern OSErr Send_GXCompleteSpoolFile(gxSpoolFile theSpoolFile)
  2489.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 19, 0xABFB);
  2490. extern OSErr Forward_GXCompleteSpoolFile(gxSpoolFile theSpoolFile)
  2491.  TWOWORDINLINE(0x7036, 0xABFB);
  2492. typedef OSErr (*GXCountPagesProcPtr)(gxSpoolFile theSpoolFile, long *numPages);
  2493.  
  2494. #if GENERATINGCFM
  2495. typedef UniversalProcPtr GXCountPagesUPP;
  2496. #else
  2497. typedef GXCountPagesProcPtr GXCountPagesUPP;
  2498. #endif
  2499.  
  2500. enum {
  2501.     uppGXCountPagesProcInfo = kCStackBased
  2502.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  2503.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxSpoolFile)))
  2504.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(long*)))
  2505. };
  2506.  
  2507. #if GENERATINGCFM
  2508. #define NewGXCountPagesProc(userRoutine)        \
  2509.         (GXCountPagesUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXCountPagesProcInfo, GetCurrentArchitecture())
  2510. #else
  2511. #define NewGXCountPagesProc(userRoutine)        \
  2512.         ((GXCountPagesUPP) (userRoutine))
  2513. #endif
  2514.  
  2515. #if GENERATINGCFM
  2516. #define CallGXCountPagesProc(userRoutine, theSpoolFile, numPages)        \
  2517.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXCountPagesProcInfo, (theSpoolFile), (numPages))
  2518. #else
  2519. #define CallGXCountPagesProc(userRoutine, theSpoolFile, numPages)        \
  2520.         (*(userRoutine))((theSpoolFile), (numPages))
  2521. #endif
  2522.  
  2523. typedef GXCountPagesProcPtr GXCountPagesProc;
  2524.  
  2525. extern OSErr Send_GXCountPages(gxSpoolFile theSpoolFile, long *numPages)
  2526.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 20, 0xABFB);
  2527. extern OSErr Forward_GXCountPages(gxSpoolFile theSpoolFile, long *numPages)
  2528.  TWOWORDINLINE(0x7036, 0xABFB);
  2529. typedef OSErr (*GXDespoolPageProcPtr)(gxSpoolFile theSpoolFile, long numPages, gxFormat theFormat, gxShape *thePage, Boolean *formatChanged);
  2530.  
  2531. #if GENERATINGCFM
  2532. typedef UniversalProcPtr GXDespoolPageUPP;
  2533. #else
  2534. typedef GXDespoolPageProcPtr GXDespoolPageUPP;
  2535. #endif
  2536.  
  2537. enum {
  2538.     uppGXDespoolPageProcInfo = kCStackBased
  2539.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  2540.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxSpoolFile)))
  2541.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(long)))
  2542.          | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(gxFormat)))
  2543.          | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(gxShape*)))
  2544.          | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(Boolean*)))
  2545. };
  2546.  
  2547. #if GENERATINGCFM
  2548. #define NewGXDespoolPageProc(userRoutine)        \
  2549.         (GXDespoolPageUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXDespoolPageProcInfo, GetCurrentArchitecture())
  2550. #else
  2551. #define NewGXDespoolPageProc(userRoutine)        \
  2552.         ((GXDespoolPageUPP) (userRoutine))
  2553. #endif
  2554.  
  2555. #if GENERATINGCFM
  2556. #define CallGXDespoolPageProc(userRoutine, theSpoolFile, numPages, theFormat, thePage, formatChanged)        \
  2557.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXDespoolPageProcInfo, (theSpoolFile), (numPages), (theFormat), (thePage), (formatChanged))
  2558. #else
  2559. #define CallGXDespoolPageProc(userRoutine, theSpoolFile, numPages, theFormat, thePage, formatChanged)        \
  2560.         (*(userRoutine))((theSpoolFile), (numPages), (theFormat), (thePage), (formatChanged))
  2561. #endif
  2562.  
  2563. typedef GXDespoolPageProcPtr GXDespoolPageProc;
  2564.  
  2565. extern OSErr Send_GXDespoolPage(gxSpoolFile theSpoolFile, long numPages, gxFormat theFormat, gxShape *thePage, Boolean *formatChanged)
  2566.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 21, 0xABFB);
  2567. extern OSErr Forward_GXDespoolPage(gxSpoolFile theSpoolFile, long numPages, gxFormat theFormat, gxShape *thePage, Boolean *formatChanged)
  2568.  TWOWORDINLINE(0x7036, 0xABFB);
  2569. typedef OSErr (*GXDespoolDataProcPtr)(gxSpoolFile theSpoolFile, Ptr data, long *length);
  2570.  
  2571. #if GENERATINGCFM
  2572. typedef UniversalProcPtr GXDespoolDataUPP;
  2573. #else
  2574. typedef GXDespoolDataProcPtr GXDespoolDataUPP;
  2575. #endif
  2576.  
  2577. enum {
  2578.     uppGXDespoolDataProcInfo = kCStackBased
  2579.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  2580.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxSpoolFile)))
  2581.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(Ptr)))
  2582.          | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(long*)))
  2583. };
  2584.  
  2585. #if GENERATINGCFM
  2586. #define NewGXDespoolDataProc(userRoutine)        \
  2587.         (GXDespoolDataUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXDespoolDataProcInfo, GetCurrentArchitecture())
  2588. #else
  2589. #define NewGXDespoolDataProc(userRoutine)        \
  2590.         ((GXDespoolDataUPP) (userRoutine))
  2591. #endif
  2592.  
  2593. #if GENERATINGCFM
  2594. #define CallGXDespoolDataProc(userRoutine, theSpoolFile, data, length)        \
  2595.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXDespoolDataProcInfo, (theSpoolFile), (data), (length))
  2596. #else
  2597. #define CallGXDespoolDataProc(userRoutine, theSpoolFile, data, length)        \
  2598.         (*(userRoutine))((theSpoolFile), (data), (length))
  2599. #endif
  2600.  
  2601. typedef GXDespoolDataProcPtr GXDespoolDataProc;
  2602.  
  2603. extern OSErr Send_GXDespoolData(gxSpoolFile theSpoolFile, Ptr data, long *length)
  2604.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 22, 0xABFB);
  2605. extern OSErr Forward_GXDespoolData(gxSpoolFile theSpoolFile, Ptr data, long *length)
  2606.  TWOWORDINLINE(0x7036, 0xABFB);
  2607. typedef OSErr (*GXDespoolResourceProcPtr)(gxSpoolFile theSpoolFile, ResType theType, long id, Handle *theResource);
  2608.  
  2609. #if GENERATINGCFM
  2610. typedef UniversalProcPtr GXDespoolResourceUPP;
  2611. #else
  2612. typedef GXDespoolResourceProcPtr GXDespoolResourceUPP;
  2613. #endif
  2614.  
  2615. enum {
  2616.     uppGXDespoolResourceProcInfo = kCStackBased
  2617.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  2618.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxSpoolFile)))
  2619.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(ResType)))
  2620.          | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(long)))
  2621.          | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(Handle*)))
  2622. };
  2623.  
  2624. #if GENERATINGCFM
  2625. #define NewGXDespoolResourceProc(userRoutine)        \
  2626.         (GXDespoolResourceUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXDespoolResourceProcInfo, GetCurrentArchitecture())
  2627. #else
  2628. #define NewGXDespoolResourceProc(userRoutine)        \
  2629.         ((GXDespoolResourceUPP) (userRoutine))
  2630. #endif
  2631.  
  2632. #if GENERATINGCFM
  2633. #define CallGXDespoolResourceProc(userRoutine, theSpoolFile, theType, id, theResource)        \
  2634.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXDespoolResourceProcInfo, (theSpoolFile), (theType), (id), (theResource))
  2635. #else
  2636. #define CallGXDespoolResourceProc(userRoutine, theSpoolFile, theType, id, theResource)        \
  2637.         (*(userRoutine))((theSpoolFile), (theType), (id), (theResource))
  2638. #endif
  2639.  
  2640. typedef GXDespoolResourceProcPtr GXDespoolResourceProc;
  2641.  
  2642. extern OSErr Send_GXDespoolResource(gxSpoolFile theSpoolFile, ResType theType, long id, Handle *theResource)
  2643.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 23, 0xABFB);
  2644. extern OSErr Forward_GXDespoolResource(gxSpoolFile theSpoolFile, ResType theType, long id, Handle *theResource)
  2645.  TWOWORDINLINE(0x7036, 0xABFB);
  2646. typedef OSErr (*GXCloseSpoolFileProcPtr)(gxSpoolFile theSpoolFile, long closeOptions);
  2647.  
  2648. #if GENERATINGCFM
  2649. typedef UniversalProcPtr GXCloseSpoolFileUPP;
  2650. #else
  2651. typedef GXCloseSpoolFileProcPtr GXCloseSpoolFileUPP;
  2652. #endif
  2653.  
  2654. enum {
  2655.     uppGXCloseSpoolFileProcInfo = kCStackBased
  2656.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  2657.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxSpoolFile)))
  2658.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(long)))
  2659. };
  2660.  
  2661. #if GENERATINGCFM
  2662. #define NewGXCloseSpoolFileProc(userRoutine)        \
  2663.         (GXCloseSpoolFileUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXCloseSpoolFileProcInfo, GetCurrentArchitecture())
  2664. #else
  2665. #define NewGXCloseSpoolFileProc(userRoutine)        \
  2666.         ((GXCloseSpoolFileUPP) (userRoutine))
  2667. #endif
  2668.  
  2669. #if GENERATINGCFM
  2670. #define CallGXCloseSpoolFileProc(userRoutine, theSpoolFile, closeOptions)        \
  2671.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXCloseSpoolFileProcInfo, (theSpoolFile), (closeOptions))
  2672. #else
  2673. #define CallGXCloseSpoolFileProc(userRoutine, theSpoolFile, closeOptions)        \
  2674.         (*(userRoutine))((theSpoolFile), (closeOptions))
  2675. #endif
  2676.  
  2677. typedef GXCloseSpoolFileProcPtr GXCloseSpoolFileProc;
  2678.  
  2679. extern OSErr Send_GXCloseSpoolFile(gxSpoolFile theSpoolFile, long closeOptions)
  2680.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 24, 0xABFB);
  2681. extern OSErr Forward_GXCloseSpoolFile(gxSpoolFile theSpoolFile, long closeOptions)
  2682.  TWOWORDINLINE(0x7036, 0xABFB);
  2683. typedef OSErr (*GXStartJobProcPtr)(StringPtr docName, long pageCount);
  2684.  
  2685. #if GENERATINGCFM
  2686. typedef UniversalProcPtr GXStartJobUPP;
  2687. #else
  2688. typedef GXStartJobProcPtr GXStartJobUPP;
  2689. #endif
  2690.  
  2691. enum {
  2692.     uppGXStartJobProcInfo = kCStackBased
  2693.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  2694.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(StringPtr)))
  2695.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(long)))
  2696. };
  2697.  
  2698. #if GENERATINGCFM
  2699. #define NewGXStartJobProc(userRoutine)        \
  2700.         (GXStartJobUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXStartJobProcInfo, GetCurrentArchitecture())
  2701. #else
  2702. #define NewGXStartJobProc(userRoutine)        \
  2703.         ((GXStartJobUPP) (userRoutine))
  2704. #endif
  2705.  
  2706. #if GENERATINGCFM
  2707. #define CallGXStartJobProc(userRoutine, docName, pageCount)        \
  2708.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXStartJobProcInfo, (docName), (pageCount))
  2709. #else
  2710. #define CallGXStartJobProc(userRoutine, docName, pageCount)        \
  2711.         (*(userRoutine))((docName), (pageCount))
  2712. #endif
  2713.  
  2714. typedef GXStartJobProcPtr GXStartJobProc;
  2715.  
  2716. extern OSErr Send_GXStartJob(StringPtr docName, long pageCount)
  2717.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 25, 0xABFB);
  2718. extern OSErr Forward_GXStartJob(StringPtr docName, long pageCount)
  2719.  TWOWORDINLINE(0x7036, 0xABFB);
  2720. typedef OSErr (*GXFinishJobProcPtr)(void);
  2721.  
  2722. #if GENERATINGCFM
  2723. typedef UniversalProcPtr GXFinishJobUPP;
  2724. #else
  2725. typedef GXFinishJobProcPtr GXFinishJobUPP;
  2726. #endif
  2727.  
  2728. enum {
  2729.     uppGXFinishJobProcInfo = kCStackBased
  2730.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  2731. };
  2732.  
  2733. #if GENERATINGCFM
  2734. #define NewGXFinishJobProc(userRoutine)        \
  2735.         (GXFinishJobUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXFinishJobProcInfo, GetCurrentArchitecture())
  2736. #else
  2737. #define NewGXFinishJobProc(userRoutine)        \
  2738.         ((GXFinishJobUPP) (userRoutine))
  2739. #endif
  2740.  
  2741. #if GENERATINGCFM
  2742. #define CallGXFinishJobProc(userRoutine)        \
  2743.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXFinishJobProcInfo)
  2744. #else
  2745. #define CallGXFinishJobProc(userRoutine)        \
  2746.         (*(userRoutine))()
  2747. #endif
  2748.  
  2749. typedef GXFinishJobProcPtr GXFinishJobProc;
  2750.  
  2751. extern OSErr Send_GXFinishJob(void)
  2752.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 26, 0xABFB);
  2753. extern OSErr Forward_GXFinishJob(void)
  2754.  TWOWORDINLINE(0x7036, 0xABFB);
  2755. typedef OSErr (*GXStartPageProcPtr)(gxFormat theFormat, long numViewPorts, gxViewPort *viewPortList);
  2756.  
  2757. #if GENERATINGCFM
  2758. typedef UniversalProcPtr GXStartPageUPP;
  2759. #else
  2760. typedef GXStartPageProcPtr GXStartPageUPP;
  2761. #endif
  2762.  
  2763. enum {
  2764.     uppGXStartPageProcInfo = kCStackBased
  2765.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  2766.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxFormat)))
  2767.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(long)))
  2768.          | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(gxViewPort*)))
  2769. };
  2770.  
  2771. #if GENERATINGCFM
  2772. #define NewGXStartPageProc(userRoutine)        \
  2773.         (GXStartPageUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXStartPageProcInfo, GetCurrentArchitecture())
  2774. #else
  2775. #define NewGXStartPageProc(userRoutine)        \
  2776.         ((GXStartPageUPP) (userRoutine))
  2777. #endif
  2778.  
  2779. #if GENERATINGCFM
  2780. #define CallGXStartPageProc(userRoutine, theFormat, numViewPorts, viewPortList)        \
  2781.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXStartPageProcInfo, (theFormat), (numViewPorts), (viewPortList))
  2782. #else
  2783. #define CallGXStartPageProc(userRoutine, theFormat, numViewPorts, viewPortList)        \
  2784.         (*(userRoutine))((theFormat), (numViewPorts), (viewPortList))
  2785. #endif
  2786.  
  2787. typedef GXStartPageProcPtr GXStartPageProc;
  2788.  
  2789. extern OSErr Send_GXStartPage(gxFormat theFormat, long numViewPorts, gxViewPort *viewPortList)
  2790.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 27, 0xABFB);
  2791. extern OSErr Forward_GXStartPage(gxFormat theFormat, long numViewPorts, gxViewPort *viewPortList)
  2792.  TWOWORDINLINE(0x7036, 0xABFB);
  2793. typedef OSErr (*GXFinishPageProcPtr)(void);
  2794.  
  2795. #if GENERATINGCFM
  2796. typedef UniversalProcPtr GXFinishPageUPP;
  2797. #else
  2798. typedef GXFinishPageProcPtr GXFinishPageUPP;
  2799. #endif
  2800.  
  2801. enum {
  2802.     uppGXFinishPageProcInfo = kCStackBased
  2803.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  2804. };
  2805.  
  2806. #if GENERATINGCFM
  2807. #define NewGXFinishPageProc(userRoutine)        \
  2808.         (GXFinishPageUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXFinishPageProcInfo, GetCurrentArchitecture())
  2809. #else
  2810. #define NewGXFinishPageProc(userRoutine)        \
  2811.         ((GXFinishPageUPP) (userRoutine))
  2812. #endif
  2813.  
  2814. #if GENERATINGCFM
  2815. #define CallGXFinishPageProc(userRoutine)        \
  2816.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXFinishPageProcInfo)
  2817. #else
  2818. #define CallGXFinishPageProc(userRoutine)        \
  2819.         (*(userRoutine))()
  2820. #endif
  2821.  
  2822. typedef GXFinishPageProcPtr GXFinishPageProc;
  2823.  
  2824. extern OSErr Send_GXFinishPage(void)
  2825.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 28, 0xABFB);
  2826. extern OSErr Forward_GXFinishPage(void)
  2827.  TWOWORDINLINE(0x7036, 0xABFB);
  2828. typedef OSErr (*GXPrintPageProcPtr)(gxFormat theFormat, gxShape thePage);
  2829.  
  2830. #if GENERATINGCFM
  2831. typedef UniversalProcPtr GXPrintPageUPP;
  2832. #else
  2833. typedef GXPrintPageProcPtr GXPrintPageUPP;
  2834. #endif
  2835.  
  2836. enum {
  2837.     uppGXPrintPageProcInfo = kCStackBased
  2838.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  2839.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxFormat)))
  2840.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(gxShape)))
  2841. };
  2842.  
  2843. #if GENERATINGCFM
  2844. #define NewGXPrintPageProc(userRoutine)        \
  2845.         (GXPrintPageUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXPrintPageProcInfo, GetCurrentArchitecture())
  2846. #else
  2847. #define NewGXPrintPageProc(userRoutine)        \
  2848.         ((GXPrintPageUPP) (userRoutine))
  2849. #endif
  2850.  
  2851. #if GENERATINGCFM
  2852. #define CallGXPrintPageProc(userRoutine, theFormat, thePage)        \
  2853.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXPrintPageProcInfo, (theFormat), (thePage))
  2854. #else
  2855. #define CallGXPrintPageProc(userRoutine, theFormat, thePage)        \
  2856.         (*(userRoutine))((theFormat), (thePage))
  2857. #endif
  2858.  
  2859. typedef GXPrintPageProcPtr GXPrintPageProc;
  2860.  
  2861. extern OSErr Send_GXPrintPage(gxFormat theFormat, gxShape thePage)
  2862.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 29, 0xABFB);
  2863. extern OSErr Forward_GXPrintPage(gxFormat theFormat, gxShape thePage)
  2864.  TWOWORDINLINE(0x7036, 0xABFB);
  2865. typedef OSErr (*GXSetupImageDataProcPtr)(void *imageData);
  2866.  
  2867. #if GENERATINGCFM
  2868. typedef UniversalProcPtr GXSetupImageDataUPP;
  2869. #else
  2870. typedef GXSetupImageDataProcPtr GXSetupImageDataUPP;
  2871. #endif
  2872.  
  2873. enum {
  2874.     uppGXSetupImageDataProcInfo = kCStackBased
  2875.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  2876.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(void*)))
  2877. };
  2878.  
  2879. #if GENERATINGCFM
  2880. #define NewGXSetupImageDataProc(userRoutine)        \
  2881.         (GXSetupImageDataUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXSetupImageDataProcInfo, GetCurrentArchitecture())
  2882. #else
  2883. #define NewGXSetupImageDataProc(userRoutine)        \
  2884.         ((GXSetupImageDataUPP) (userRoutine))
  2885. #endif
  2886.  
  2887. #if GENERATINGCFM
  2888. #define CallGXSetupImageDataProc(userRoutine, imageData)        \
  2889.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXSetupImageDataProcInfo, (imageData))
  2890. #else
  2891. #define CallGXSetupImageDataProc(userRoutine, imageData)        \
  2892.         (*(userRoutine))((imageData))
  2893. #endif
  2894.  
  2895. typedef GXSetupImageDataProcPtr GXSetupImageDataProc;
  2896.  
  2897. extern OSErr Send_GXSetupImageData(void *imageData)
  2898.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 30, 0xABFB);
  2899. extern OSErr Forward_GXSetupImageData(void *imageData)
  2900.  TWOWORDINLINE(0x7036, 0xABFB);
  2901. typedef OSErr (*GXImageJobProcPtr)(gxSpoolFile theSpoolFile, long *closeOptions);
  2902.  
  2903. #if GENERATINGCFM
  2904. typedef UniversalProcPtr GXImageJobUPP;
  2905. #else
  2906. typedef GXImageJobProcPtr GXImageJobUPP;
  2907. #endif
  2908.  
  2909. enum {
  2910.     uppGXImageJobProcInfo = kCStackBased
  2911.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  2912.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxSpoolFile)))
  2913.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(long*)))
  2914. };
  2915.  
  2916. #if GENERATINGCFM
  2917. #define NewGXImageJobProc(userRoutine)        \
  2918.         (GXImageJobUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXImageJobProcInfo, GetCurrentArchitecture())
  2919. #else
  2920. #define NewGXImageJobProc(userRoutine)        \
  2921.         ((GXImageJobUPP) (userRoutine))
  2922. #endif
  2923.  
  2924. #if GENERATINGCFM
  2925. #define CallGXImageJobProc(userRoutine, theSpoolFile, closeOptions)        \
  2926.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXImageJobProcInfo, (theSpoolFile), (closeOptions))
  2927. #else
  2928. #define CallGXImageJobProc(userRoutine, theSpoolFile, closeOptions)        \
  2929.         (*(userRoutine))((theSpoolFile), (closeOptions))
  2930. #endif
  2931.  
  2932. typedef GXImageJobProcPtr GXImageJobProc;
  2933.  
  2934. extern OSErr Send_GXImageJob(gxSpoolFile theSpoolFile, long *closeOptions)
  2935.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 31, 0xABFB);
  2936. extern OSErr Forward_GXImageJob(gxSpoolFile theSpoolFile, long *closeOptions)
  2937.  TWOWORDINLINE(0x7036, 0xABFB);
  2938. typedef OSErr (*GXImageDocumentProcPtr)(gxSpoolFile theSpoolFile, void *imageData);
  2939.  
  2940. #if GENERATINGCFM
  2941. typedef UniversalProcPtr GXImageDocumentUPP;
  2942. #else
  2943. typedef GXImageDocumentProcPtr GXImageDocumentUPP;
  2944. #endif
  2945.  
  2946. enum {
  2947.     uppGXImageDocumentProcInfo = kCStackBased
  2948.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  2949.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxSpoolFile)))
  2950.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(void*)))
  2951. };
  2952.  
  2953. #if GENERATINGCFM
  2954. #define NewGXImageDocumentProc(userRoutine)        \
  2955.         (GXImageDocumentUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXImageDocumentProcInfo, GetCurrentArchitecture())
  2956. #else
  2957. #define NewGXImageDocumentProc(userRoutine)        \
  2958.         ((GXImageDocumentUPP) (userRoutine))
  2959. #endif
  2960.  
  2961. #if GENERATINGCFM
  2962. #define CallGXImageDocumentProc(userRoutine, theSpoolFile, imageData)        \
  2963.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXImageDocumentProcInfo, (theSpoolFile), (imageData))
  2964. #else
  2965. #define CallGXImageDocumentProc(userRoutine, theSpoolFile, imageData)        \
  2966.         (*(userRoutine))((theSpoolFile), (imageData))
  2967. #endif
  2968.  
  2969. typedef GXImageDocumentProcPtr GXImageDocumentProc;
  2970.  
  2971. extern OSErr Send_GXImageDocument(gxSpoolFile theSpoolFile, void *imageData)
  2972.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 32, 0xABFB);
  2973. extern OSErr Forward_GXImageDocument(gxSpoolFile theSpoolFile, void *imageData)
  2974.  TWOWORDINLINE(0x7036, 0xABFB);
  2975. typedef OSErr (*GXImagePageProcPtr)(gxSpoolFile theSpoolFile, long pageNumber, gxFormat theFormat, void *imageData);
  2976.  
  2977. #if GENERATINGCFM
  2978. typedef UniversalProcPtr GXImagePageUPP;
  2979. #else
  2980. typedef GXImagePageProcPtr GXImagePageUPP;
  2981. #endif
  2982.  
  2983. enum {
  2984.     uppGXImagePageProcInfo = kCStackBased
  2985.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  2986.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxSpoolFile)))
  2987.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(long)))
  2988.          | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(gxFormat)))
  2989.          | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(void*)))
  2990. };
  2991.  
  2992. #if GENERATINGCFM
  2993. #define NewGXImagePageProc(userRoutine)        \
  2994.         (GXImagePageUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXImagePageProcInfo, GetCurrentArchitecture())
  2995. #else
  2996. #define NewGXImagePageProc(userRoutine)        \
  2997.         ((GXImagePageUPP) (userRoutine))
  2998. #endif
  2999.  
  3000. #if GENERATINGCFM
  3001. #define CallGXImagePageProc(userRoutine, theSpoolFile, pageNumber, theFormat, imageData)        \
  3002.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXImagePageProcInfo, (theSpoolFile), (pageNumber), (theFormat), (imageData))
  3003. #else
  3004. #define CallGXImagePageProc(userRoutine, theSpoolFile, pageNumber, theFormat, imageData)        \
  3005.         (*(userRoutine))((theSpoolFile), (pageNumber), (theFormat), (imageData))
  3006. #endif
  3007.  
  3008. typedef GXImagePageProcPtr GXImagePageProc;
  3009.  
  3010. extern OSErr Send_GXImagePage(gxSpoolFile theSpoolFile, long pageNumber, gxFormat theFormat, void *imageData)
  3011.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 33, 0xABFB);
  3012. extern OSErr Forward_GXImagePage(gxSpoolFile theSpoolFile, long pageNumber, gxFormat theFormat, void *imageData)
  3013.  TWOWORDINLINE(0x7036, 0xABFB);
  3014. typedef OSErr (*GXRenderPageProcPtr)(gxFormat theFormat, gxShape thePage, gxPageInfoRecord *pageInfo, void *imageData);
  3015.  
  3016. #if GENERATINGCFM
  3017. typedef UniversalProcPtr GXRenderPageUPP;
  3018. #else
  3019. typedef GXRenderPageProcPtr GXRenderPageUPP;
  3020. #endif
  3021.  
  3022. enum {
  3023.     uppGXRenderPageProcInfo = kCStackBased
  3024.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  3025.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxFormat)))
  3026.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(gxShape)))
  3027.          | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(gxPageInfoRecord*)))
  3028.          | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(void*)))
  3029. };
  3030.  
  3031. #if GENERATINGCFM
  3032. #define NewGXRenderPageProc(userRoutine)        \
  3033.         (GXRenderPageUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXRenderPageProcInfo, GetCurrentArchitecture())
  3034. #else
  3035. #define NewGXRenderPageProc(userRoutine)        \
  3036.         ((GXRenderPageUPP) (userRoutine))
  3037. #endif
  3038.  
  3039. #if GENERATINGCFM
  3040. #define CallGXRenderPageProc(userRoutine, theFormat, thePage, pageInfo, imageData)        \
  3041.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXRenderPageProcInfo, (theFormat), (thePage), (pageInfo), (imageData))
  3042. #else
  3043. #define CallGXRenderPageProc(userRoutine, theFormat, thePage, pageInfo, imageData)        \
  3044.         (*(userRoutine))((theFormat), (thePage), (pageInfo), (imageData))
  3045. #endif
  3046.  
  3047. typedef GXRenderPageProcPtr GXRenderPageProc;
  3048.  
  3049. extern OSErr Send_GXRenderPage(gxFormat theFormat, gxShape thePage, gxPageInfoRecord *pageInfo, void *imageData)
  3050.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 34, 0xABFB);
  3051. extern OSErr Forward_GXRenderPage(gxFormat theFormat, gxShape thePage, gxPageInfoRecord *pageInfo, void *imageData)
  3052.  TWOWORDINLINE(0x7036, 0xABFB);
  3053. typedef OSErr (*GXCreateImageFileProcPtr)(FSSpecPtr pFileSpec, long imageFileOptions, long *theImageFile);
  3054.  
  3055. #if GENERATINGCFM
  3056. typedef UniversalProcPtr GXCreateImageFileUPP;
  3057. #else
  3058. typedef GXCreateImageFileProcPtr GXCreateImageFileUPP;
  3059. #endif
  3060.  
  3061. enum {
  3062.     uppGXCreateImageFileProcInfo = kCStackBased
  3063.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  3064.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(FSSpecPtr)))
  3065.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(long)))
  3066.          | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(long*)))
  3067. };
  3068.  
  3069. #if GENERATINGCFM
  3070. #define NewGXCreateImageFileProc(userRoutine)        \
  3071.         (GXCreateImageFileUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXCreateImageFileProcInfo, GetCurrentArchitecture())
  3072. #else
  3073. #define NewGXCreateImageFileProc(userRoutine)        \
  3074.         ((GXCreateImageFileUPP) (userRoutine))
  3075. #endif
  3076.  
  3077. #if GENERATINGCFM
  3078. #define CallGXCreateImageFileProc(userRoutine, pFileSpec, imageFileOptions, theImageFile)        \
  3079.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXCreateImageFileProcInfo, (pFileSpec), (imageFileOptions), (theImageFile))
  3080. #else
  3081. #define CallGXCreateImageFileProc(userRoutine, pFileSpec, imageFileOptions, theImageFile)        \
  3082.         (*(userRoutine))((pFileSpec), (imageFileOptions), (theImageFile))
  3083. #endif
  3084.  
  3085. typedef GXCreateImageFileProcPtr GXCreateImageFileProc;
  3086.  
  3087. extern OSErr Send_GXCreateImageFile(FSSpecPtr pFileSpec, long imageFileOptions, long *theImageFile)
  3088.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 35, 0xABFB);
  3089. extern OSErr Forward_GXCreateImageFile(FSSpecPtr pFileSpec, long imageFileOptions, long *theImageFile)
  3090.  TWOWORDINLINE(0x7036, 0xABFB);
  3091. typedef OSErr (*GXOpenConnectionProcPtr)(void);
  3092.  
  3093. #if GENERATINGCFM
  3094. typedef UniversalProcPtr GXOpenConnectionUPP;
  3095. #else
  3096. typedef GXOpenConnectionProcPtr GXOpenConnectionUPP;
  3097. #endif
  3098.  
  3099. enum {
  3100.     uppGXOpenConnectionProcInfo = kCStackBased
  3101.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  3102. };
  3103.  
  3104. #if GENERATINGCFM
  3105. #define NewGXOpenConnectionProc(userRoutine)        \
  3106.         (GXOpenConnectionUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXOpenConnectionProcInfo, GetCurrentArchitecture())
  3107. #else
  3108. #define NewGXOpenConnectionProc(userRoutine)        \
  3109.         ((GXOpenConnectionUPP) (userRoutine))
  3110. #endif
  3111.  
  3112. #if GENERATINGCFM
  3113. #define CallGXOpenConnectionProc(userRoutine)        \
  3114.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXOpenConnectionProcInfo)
  3115. #else
  3116. #define CallGXOpenConnectionProc(userRoutine)        \
  3117.         (*(userRoutine))()
  3118. #endif
  3119.  
  3120. typedef GXOpenConnectionProcPtr GXOpenConnectionProc;
  3121.  
  3122. extern OSErr Send_GXOpenConnection(void)
  3123.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 36, 0xABFB);
  3124. extern OSErr Forward_GXOpenConnection(void)
  3125.  TWOWORDINLINE(0x7036, 0xABFB);
  3126. typedef OSErr (*GXCloseConnectionProcPtr)(void);
  3127.  
  3128. #if GENERATINGCFM
  3129. typedef UniversalProcPtr GXCloseConnectionUPP;
  3130. #else
  3131. typedef GXCloseConnectionProcPtr GXCloseConnectionUPP;
  3132. #endif
  3133.  
  3134. enum {
  3135.     uppGXCloseConnectionProcInfo = kCStackBased
  3136.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  3137. };
  3138.  
  3139. #if GENERATINGCFM
  3140. #define NewGXCloseConnectionProc(userRoutine)        \
  3141.         (GXCloseConnectionUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXCloseConnectionProcInfo, GetCurrentArchitecture())
  3142. #else
  3143. #define NewGXCloseConnectionProc(userRoutine)        \
  3144.         ((GXCloseConnectionUPP) (userRoutine))
  3145. #endif
  3146.  
  3147. #if GENERATINGCFM
  3148. #define CallGXCloseConnectionProc(userRoutine)        \
  3149.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXCloseConnectionProcInfo)
  3150. #else
  3151. #define CallGXCloseConnectionProc(userRoutine)        \
  3152.         (*(userRoutine))()
  3153. #endif
  3154.  
  3155. typedef GXCloseConnectionProcPtr GXCloseConnectionProc;
  3156.  
  3157. extern OSErr Send_GXCloseConnection(void)
  3158.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 37, 0xABFB);
  3159. extern OSErr Forward_GXCloseConnection(void)
  3160.  TWOWORDINLINE(0x7036, 0xABFB);
  3161. typedef OSErr (*GXStartSendPageProcPtr)(gxFormat theFormat);
  3162.  
  3163. #if GENERATINGCFM
  3164. typedef UniversalProcPtr GXStartSendPageUPP;
  3165. #else
  3166. typedef GXStartSendPageProcPtr GXStartSendPageUPP;
  3167. #endif
  3168.  
  3169. enum {
  3170.     uppGXStartSendPageProcInfo = kCStackBased
  3171.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  3172.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxFormat)))
  3173. };
  3174.  
  3175. #if GENERATINGCFM
  3176. #define NewGXStartSendPageProc(userRoutine)        \
  3177.         (GXStartSendPageUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXStartSendPageProcInfo, GetCurrentArchitecture())
  3178. #else
  3179. #define NewGXStartSendPageProc(userRoutine)        \
  3180.         ((GXStartSendPageUPP) (userRoutine))
  3181. #endif
  3182.  
  3183. #if GENERATINGCFM
  3184. #define CallGXStartSendPageProc(userRoutine, theFormat)        \
  3185.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXStartSendPageProcInfo, (theFormat))
  3186. #else
  3187. #define CallGXStartSendPageProc(userRoutine, theFormat)        \
  3188.         (*(userRoutine))((theFormat))
  3189. #endif
  3190.  
  3191. typedef GXStartSendPageProcPtr GXStartSendPageProc;
  3192.  
  3193. extern OSErr Send_GXStartSendPage(gxFormat theFormat)
  3194.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 38, 0xABFB);
  3195. extern OSErr Forward_GXStartSendPage(gxFormat theFormat)
  3196.  TWOWORDINLINE(0x7036, 0xABFB);
  3197. typedef OSErr (*GXFinishSendPageProcPtr)(void);
  3198.  
  3199. #if GENERATINGCFM
  3200. typedef UniversalProcPtr GXFinishSendPageUPP;
  3201. #else
  3202. typedef GXFinishSendPageProcPtr GXFinishSendPageUPP;
  3203. #endif
  3204.  
  3205. enum {
  3206.     uppGXFinishSendPageProcInfo = kCStackBased
  3207.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  3208. };
  3209.  
  3210. #if GENERATINGCFM
  3211. #define NewGXFinishSendPageProc(userRoutine)        \
  3212.         (GXFinishSendPageUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXFinishSendPageProcInfo, GetCurrentArchitecture())
  3213. #else
  3214. #define NewGXFinishSendPageProc(userRoutine)        \
  3215.         ((GXFinishSendPageUPP) (userRoutine))
  3216. #endif
  3217.  
  3218. #if GENERATINGCFM
  3219. #define CallGXFinishSendPageProc(userRoutine)        \
  3220.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXFinishSendPageProcInfo)
  3221. #else
  3222. #define CallGXFinishSendPageProc(userRoutine)        \
  3223.         (*(userRoutine))()
  3224. #endif
  3225.  
  3226. typedef GXFinishSendPageProcPtr GXFinishSendPageProc;
  3227.  
  3228. extern OSErr Send_GXFinishSendPage(void)
  3229.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 39, 0xABFB);
  3230. extern OSErr Forward_GXFinishSendPage(void)
  3231.  TWOWORDINLINE(0x7036, 0xABFB);
  3232. typedef OSErr (*GXWriteDataProcPtr)(Ptr data, long length);
  3233.  
  3234. #if GENERATINGCFM
  3235. typedef UniversalProcPtr GXWriteDataUPP;
  3236. #else
  3237. typedef GXWriteDataProcPtr GXWriteDataUPP;
  3238. #endif
  3239.  
  3240. enum {
  3241.     uppGXWriteDataProcInfo = kCStackBased
  3242.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  3243.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Ptr)))
  3244.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(long)))
  3245. };
  3246.  
  3247. #if GENERATINGCFM
  3248. #define NewGXWriteDataProc(userRoutine)        \
  3249.         (GXWriteDataUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXWriteDataProcInfo, GetCurrentArchitecture())
  3250. #else
  3251. #define NewGXWriteDataProc(userRoutine)        \
  3252.         ((GXWriteDataUPP) (userRoutine))
  3253. #endif
  3254.  
  3255. #if GENERATINGCFM
  3256. #define CallGXWriteDataProc(userRoutine, data, length)        \
  3257.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXWriteDataProcInfo, (data), (length))
  3258. #else
  3259. #define CallGXWriteDataProc(userRoutine, data, length)        \
  3260.         (*(userRoutine))((data), (length))
  3261. #endif
  3262.  
  3263. typedef GXWriteDataProcPtr GXWriteDataProc;
  3264.  
  3265. extern OSErr Send_GXWriteData(Ptr data, long length)
  3266.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 40, 0xABFB);
  3267. extern OSErr Forward_GXWriteData(Ptr data, long length)
  3268.  TWOWORDINLINE(0x7036, 0xABFB);
  3269. typedef OSErr (*GXBufferDataProcPtr)(Ptr data, long length, long bufferOptions);
  3270.  
  3271. #if GENERATINGCFM
  3272. typedef UniversalProcPtr GXBufferDataUPP;
  3273. #else
  3274. typedef GXBufferDataProcPtr GXBufferDataUPP;
  3275. #endif
  3276.  
  3277. enum {
  3278.     uppGXBufferDataProcInfo = kCStackBased
  3279.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  3280.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Ptr)))
  3281.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(long)))
  3282.          | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(long)))
  3283. };
  3284.  
  3285. #if GENERATINGCFM
  3286. #define NewGXBufferDataProc(userRoutine)        \
  3287.         (GXBufferDataUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXBufferDataProcInfo, GetCurrentArchitecture())
  3288. #else
  3289. #define NewGXBufferDataProc(userRoutine)        \
  3290.         ((GXBufferDataUPP) (userRoutine))
  3291. #endif
  3292.  
  3293. #if GENERATINGCFM
  3294. #define CallGXBufferDataProc(userRoutine, data, length, bufferOptions)        \
  3295.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXBufferDataProcInfo, (data), (length), (bufferOptions))
  3296. #else
  3297. #define CallGXBufferDataProc(userRoutine, data, length, bufferOptions)        \
  3298.         (*(userRoutine))((data), (length), (bufferOptions))
  3299. #endif
  3300.  
  3301. typedef GXBufferDataProcPtr GXBufferDataProc;
  3302.  
  3303. extern OSErr Send_GXBufferData(Ptr data, long length, long bufferOptions)
  3304.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 41, 0xABFB);
  3305. extern OSErr Forward_GXBufferData(Ptr data, long length, long bufferOptions)
  3306.  TWOWORDINLINE(0x7036, 0xABFB);
  3307. typedef OSErr (*GXDumpBufferProcPtr)(gxPrintingBuffer *theBuffer);
  3308.  
  3309. #if GENERATINGCFM
  3310. typedef UniversalProcPtr GXDumpBufferUPP;
  3311. #else
  3312. typedef GXDumpBufferProcPtr GXDumpBufferUPP;
  3313. #endif
  3314.  
  3315. enum {
  3316.     uppGXDumpBufferProcInfo = kCStackBased
  3317.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  3318.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxPrintingBuffer*)))
  3319. };
  3320.  
  3321. #if GENERATINGCFM
  3322. #define NewGXDumpBufferProc(userRoutine)        \
  3323.         (GXDumpBufferUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXDumpBufferProcInfo, GetCurrentArchitecture())
  3324. #else
  3325. #define NewGXDumpBufferProc(userRoutine)        \
  3326.         ((GXDumpBufferUPP) (userRoutine))
  3327. #endif
  3328.  
  3329. #if GENERATINGCFM
  3330. #define CallGXDumpBufferProc(userRoutine, theBuffer)        \
  3331.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXDumpBufferProcInfo, (theBuffer))
  3332. #else
  3333. #define CallGXDumpBufferProc(userRoutine, theBuffer)        \
  3334.         (*(userRoutine))((theBuffer))
  3335. #endif
  3336.  
  3337. typedef GXDumpBufferProcPtr GXDumpBufferProc;
  3338.  
  3339. extern OSErr Send_GXDumpBuffer(gxPrintingBuffer *theBuffer)
  3340.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 42, 0xABFB);
  3341. extern OSErr Forward_GXDumpBuffer(gxPrintingBuffer *theBuffer)
  3342.  TWOWORDINLINE(0x7036, 0xABFB);
  3343. typedef OSErr (*GXFreeBufferProcPtr)(gxPrintingBuffer *theBuffer);
  3344.  
  3345. #if GENERATINGCFM
  3346. typedef UniversalProcPtr GXFreeBufferUPP;
  3347. #else
  3348. typedef GXFreeBufferProcPtr GXFreeBufferUPP;
  3349. #endif
  3350.  
  3351. enum {
  3352.     uppGXFreeBufferProcInfo = kCStackBased
  3353.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  3354.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxPrintingBuffer*)))
  3355. };
  3356.  
  3357. #if GENERATINGCFM
  3358. #define NewGXFreeBufferProc(userRoutine)        \
  3359.         (GXFreeBufferUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXFreeBufferProcInfo, GetCurrentArchitecture())
  3360. #else
  3361. #define NewGXFreeBufferProc(userRoutine)        \
  3362.         ((GXFreeBufferUPP) (userRoutine))
  3363. #endif
  3364.  
  3365. #if GENERATINGCFM
  3366. #define CallGXFreeBufferProc(userRoutine, theBuffer)        \
  3367.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXFreeBufferProcInfo, (theBuffer))
  3368. #else
  3369. #define CallGXFreeBufferProc(userRoutine, theBuffer)        \
  3370.         (*(userRoutine))((theBuffer))
  3371. #endif
  3372.  
  3373. typedef GXFreeBufferProcPtr GXFreeBufferProc;
  3374.  
  3375. extern OSErr Send_GXFreeBuffer(gxPrintingBuffer *theBuffer)
  3376.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 43, 0xABFB);
  3377. extern OSErr Forward_GXFreeBuffer(gxPrintingBuffer *theBuffer)
  3378.  TWOWORDINLINE(0x7036, 0xABFB);
  3379. typedef OSErr (*GXCheckStatusProcPtr)(Ptr data, long length, long statusType, gxOwnerSignature owner);
  3380.  
  3381. #if GENERATINGCFM
  3382. typedef UniversalProcPtr GXCheckStatusUPP;
  3383. #else
  3384. typedef GXCheckStatusProcPtr GXCheckStatusUPP;
  3385. #endif
  3386.  
  3387. enum {
  3388.     uppGXCheckStatusProcInfo = kCStackBased
  3389.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  3390.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Ptr)))
  3391.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(long)))
  3392.          | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(long)))
  3393.          | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(gxOwnerSignature)))
  3394. };
  3395.  
  3396. #if GENERATINGCFM
  3397. #define NewGXCheckStatusProc(userRoutine)        \
  3398.         (GXCheckStatusUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXCheckStatusProcInfo, GetCurrentArchitecture())
  3399. #else
  3400. #define NewGXCheckStatusProc(userRoutine)        \
  3401.         ((GXCheckStatusUPP) (userRoutine))
  3402. #endif
  3403.  
  3404. #if GENERATINGCFM
  3405. #define CallGXCheckStatusProc(userRoutine, data, length, statusType, owner)        \
  3406.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXCheckStatusProcInfo, (data), (length), (statusType), (owner))
  3407. #else
  3408. #define CallGXCheckStatusProc(userRoutine, data, length, statusType, owner)        \
  3409.         (*(userRoutine))((data), (length), (statusType), (owner))
  3410. #endif
  3411.  
  3412. typedef GXCheckStatusProcPtr GXCheckStatusProc;
  3413.  
  3414. extern OSErr Send_GXCheckStatus(Ptr data, long length, long statusType, gxOwnerSignature owner)
  3415.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 44, 0xABFB);
  3416. extern OSErr Forward_GXCheckStatus(Ptr data, long length, long statusType, gxOwnerSignature owner)
  3417.  TWOWORDINLINE(0x7036, 0xABFB);
  3418. typedef OSErr (*GXGetDeviceStatusProcPtr)(Ptr cmdData, long cmdSize, Ptr responseData, long *responseSize, Str255 termination);
  3419.  
  3420. #if GENERATINGCFM
  3421. typedef UniversalProcPtr GXGetDeviceStatusUPP;
  3422. #else
  3423. typedef GXGetDeviceStatusProcPtr GXGetDeviceStatusUPP;
  3424. #endif
  3425.  
  3426. enum {
  3427.     uppGXGetDeviceStatusProcInfo = kCStackBased
  3428.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  3429.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Ptr)))
  3430.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(long)))
  3431.          | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(Ptr)))
  3432.          | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(long*)))
  3433.          | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(/* Str255 is array */ void*)))
  3434. };
  3435.  
  3436. #if GENERATINGCFM
  3437. #define NewGXGetDeviceStatusProc(userRoutine)        \
  3438.         (GXGetDeviceStatusUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXGetDeviceStatusProcInfo, GetCurrentArchitecture())
  3439. #else
  3440. #define NewGXGetDeviceStatusProc(userRoutine)        \
  3441.         ((GXGetDeviceStatusUPP) (userRoutine))
  3442. #endif
  3443.  
  3444. #if GENERATINGCFM
  3445. #define CallGXGetDeviceStatusProc(userRoutine, cmdData, cmdSize, responseData, responseSize, termination)        \
  3446.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXGetDeviceStatusProcInfo, (cmdData), (cmdSize), (responseData), (responseSize), (termination))
  3447. #else
  3448. #define CallGXGetDeviceStatusProc(userRoutine, cmdData, cmdSize, responseData, responseSize, termination)        \
  3449.         (*(userRoutine))((cmdData), (cmdSize), (responseData), (responseSize), (termination))
  3450. #endif
  3451.  
  3452. typedef GXGetDeviceStatusProcPtr GXGetDeviceStatusProc;
  3453.  
  3454. extern OSErr Send_GXGetDeviceStatus(Ptr cmdData, long cmdSize, Ptr responseData, long *responseSize, Str255 termination)
  3455.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 45, 0xABFB);
  3456. extern OSErr Forward_GXGetDeviceStatus(Ptr cmdData, long cmdSize, Ptr responseData, long *responseSize, Str255 termination)
  3457.  TWOWORDINLINE(0x7036, 0xABFB);
  3458. typedef OSErr (*GXFetchTaggedDataProcPtr)(ResType theType, long id, Handle *dataHdl, gxOwnerSignature owner);
  3459.  
  3460. #if GENERATINGCFM
  3461. typedef UniversalProcPtr GXFetchTaggedDataUPP;
  3462. #else
  3463. typedef GXFetchTaggedDataProcPtr GXFetchTaggedDataUPP;
  3464. #endif
  3465.  
  3466. enum {
  3467.     uppGXFetchTaggedDataProcInfo = kCStackBased
  3468.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  3469.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(ResType)))
  3470.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(long)))
  3471.          | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(Handle*)))
  3472.          | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(gxOwnerSignature)))
  3473. };
  3474.  
  3475. #if GENERATINGCFM
  3476. #define NewGXFetchTaggedDataProc(userRoutine)        \
  3477.         (GXFetchTaggedDataUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXFetchTaggedDataProcInfo, GetCurrentArchitecture())
  3478. #else
  3479. #define NewGXFetchTaggedDataProc(userRoutine)        \
  3480.         ((GXFetchTaggedDataUPP) (userRoutine))
  3481. #endif
  3482.  
  3483. #if GENERATINGCFM
  3484. #define CallGXFetchTaggedDataProc(userRoutine, theType, id, dataHdl, owner)        \
  3485.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXFetchTaggedDataProcInfo, (theType), (id), (dataHdl), (owner))
  3486. #else
  3487. #define CallGXFetchTaggedDataProc(userRoutine, theType, id, dataHdl, owner)        \
  3488.         (*(userRoutine))((theType), (id), (dataHdl), (owner))
  3489. #endif
  3490.  
  3491. typedef GXFetchTaggedDataProcPtr GXFetchTaggedDataProc;
  3492.  
  3493. extern OSErr Send_GXFetchTaggedData(ResType theType, long id, Handle *dataHdl, gxOwnerSignature owner)
  3494.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 46, 0xABFB);
  3495. extern OSErr Forward_GXFetchTaggedData(ResType theType, long id, Handle *dataHdl, gxOwnerSignature owner)
  3496.  TWOWORDINLINE(0x7036, 0xABFB);
  3497. typedef OSErr (*GXGetDTPMenuListProcPtr)(MenuHandle menuHdl);
  3498.  
  3499. #if GENERATINGCFM
  3500. typedef UniversalProcPtr GXGetDTPMenuListUPP;
  3501. #else
  3502. typedef GXGetDTPMenuListProcPtr GXGetDTPMenuListUPP;
  3503. #endif
  3504.  
  3505. enum {
  3506.     uppGXGetDTPMenuListProcInfo = kCStackBased
  3507.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  3508.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(MenuHandle)))
  3509. };
  3510.  
  3511. #if GENERATINGCFM
  3512. #define NewGXGetDTPMenuListProc(userRoutine)        \
  3513.         (GXGetDTPMenuListUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXGetDTPMenuListProcInfo, GetCurrentArchitecture())
  3514. #else
  3515. #define NewGXGetDTPMenuListProc(userRoutine)        \
  3516.         ((GXGetDTPMenuListUPP) (userRoutine))
  3517. #endif
  3518.  
  3519. #if GENERATINGCFM
  3520. #define CallGXGetDTPMenuListProc(userRoutine, menuHdl)        \
  3521.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXGetDTPMenuListProcInfo, (menuHdl))
  3522. #else
  3523. #define CallGXGetDTPMenuListProc(userRoutine, menuHdl)        \
  3524.         (*(userRoutine))((menuHdl))
  3525. #endif
  3526.  
  3527. typedef GXGetDTPMenuListProcPtr GXGetDTPMenuListProc;
  3528.  
  3529. extern OSErr Send_GXGetDTPMenuList(MenuHandle menuHdl)
  3530.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 47, 0xABFB);
  3531. extern OSErr Forward_GXGetDTPMenuList(MenuHandle menuHdl)
  3532.  TWOWORDINLINE(0x7036, 0xABFB);
  3533. typedef OSErr (*GXDTPMenuSelectProcPtr)(long id);
  3534.  
  3535. #if GENERATINGCFM
  3536. typedef UniversalProcPtr GXDTPMenuSelectUPP;
  3537. #else
  3538. typedef GXDTPMenuSelectProcPtr GXDTPMenuSelectUPP;
  3539. #endif
  3540.  
  3541. enum {
  3542.     uppGXDTPMenuSelectProcInfo = kCStackBased
  3543.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  3544.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(long)))
  3545. };
  3546.  
  3547. #if GENERATINGCFM
  3548. #define NewGXDTPMenuSelectProc(userRoutine)        \
  3549.         (GXDTPMenuSelectUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXDTPMenuSelectProcInfo, GetCurrentArchitecture())
  3550. #else
  3551. #define NewGXDTPMenuSelectProc(userRoutine)        \
  3552.         ((GXDTPMenuSelectUPP) (userRoutine))
  3553. #endif
  3554.  
  3555. #if GENERATINGCFM
  3556. #define CallGXDTPMenuSelectProc(userRoutine, id)        \
  3557.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXDTPMenuSelectProcInfo, (id))
  3558. #else
  3559. #define CallGXDTPMenuSelectProc(userRoutine, id)        \
  3560.         (*(userRoutine))((id))
  3561. #endif
  3562.  
  3563. typedef GXDTPMenuSelectProcPtr GXDTPMenuSelectProc;
  3564.  
  3565. extern OSErr Send_GXDTPMenuSelect(long id)
  3566.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 48, 0xABFB);
  3567. extern OSErr Forward_GXDTPMenuSelect(long id)
  3568.  TWOWORDINLINE(0x7036, 0xABFB);
  3569. typedef OSErr (*GXHandleAlertFilterProcPtr)(gxJob theJob, gxStatusRecord *pStatusRec, DialogPtr pDialog, EventRecord *theEvent, short *itemHit, Boolean *returnImmed);
  3570.  
  3571. #if GENERATINGCFM
  3572. typedef UniversalProcPtr GXHandleAlertFilterUPP;
  3573. #else
  3574. typedef GXHandleAlertFilterProcPtr GXHandleAlertFilterUPP;
  3575. #endif
  3576.  
  3577. enum {
  3578.     uppGXHandleAlertFilterProcInfo = kCStackBased
  3579.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  3580.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxJob)))
  3581.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(gxStatusRecord*)))
  3582.          | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(DialogPtr)))
  3583.          | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(EventRecord*)))
  3584.          | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(short*)))
  3585.          | STACK_ROUTINE_PARAMETER(6, SIZE_CODE(sizeof(Boolean*)))
  3586. };
  3587.  
  3588. #if GENERATINGCFM
  3589. #define NewGXHandleAlertFilterProc(userRoutine)        \
  3590.         (GXHandleAlertFilterUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXHandleAlertFilterProcInfo, GetCurrentArchitecture())
  3591. #else
  3592. #define NewGXHandleAlertFilterProc(userRoutine)        \
  3593.         ((GXHandleAlertFilterUPP) (userRoutine))
  3594. #endif
  3595.  
  3596. #if GENERATINGCFM
  3597. #define CallGXHandleAlertFilterProc(userRoutine, theJob, pStatusRec, pDialog, theEvent, itemHit, returnImmed)        \
  3598.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXHandleAlertFilterProcInfo, (theJob), (pStatusRec), (pDialog), (theEvent), (itemHit), (returnImmed))
  3599. #else
  3600. #define CallGXHandleAlertFilterProc(userRoutine, theJob, pStatusRec, pDialog, theEvent, itemHit, returnImmed)        \
  3601.         (*(userRoutine))((theJob), (pStatusRec), (pDialog), (theEvent), (itemHit), (returnImmed))
  3602. #endif
  3603.  
  3604. typedef GXHandleAlertFilterProcPtr GXHandleAlertFilterProc;
  3605.  
  3606. extern OSErr Send_GXHandleAlertFilter(gxJob theJob, gxStatusRecord *pStatusRec, DialogPtr pDialog, EventRecord *theEvent, short *itemHit, Boolean *returnImmed)
  3607.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 49, 0xABFB);
  3608. extern OSErr Forward_GXHandleAlertFilter(gxJob theJob, gxStatusRecord *pStatusRec, DialogPtr pDialog, EventRecord *theEvent, short *itemHit, Boolean *returnImmed)
  3609.  TWOWORDINLINE(0x7036, 0xABFB);
  3610. typedef OSErr (*GXJobFormatModeQueryProcPtr)(gxQueryType theQuery, void *srcData, void *dstData);
  3611.  
  3612. #if GENERATINGCFM
  3613. typedef UniversalProcPtr GXJobFormatModeQueryUPP;
  3614. #else
  3615. typedef GXJobFormatModeQueryProcPtr GXJobFormatModeQueryUPP;
  3616. #endif
  3617.  
  3618. enum {
  3619.     uppGXJobFormatModeQueryProcInfo = kCStackBased
  3620.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  3621.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxQueryType)))
  3622.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(void*)))
  3623.          | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(void*)))
  3624. };
  3625.  
  3626. #if GENERATINGCFM
  3627. #define NewGXJobFormatModeQueryProc(userRoutine)        \
  3628.         (GXJobFormatModeQueryUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXJobFormatModeQueryProcInfo, GetCurrentArchitecture())
  3629. #else
  3630. #define NewGXJobFormatModeQueryProc(userRoutine)        \
  3631.         ((GXJobFormatModeQueryUPP) (userRoutine))
  3632. #endif
  3633.  
  3634. #if GENERATINGCFM
  3635. #define CallGXJobFormatModeQueryProc(userRoutine, theQuery, srcData, dstData)        \
  3636.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXJobFormatModeQueryProcInfo, (theQuery), (srcData), (dstData))
  3637. #else
  3638. #define CallGXJobFormatModeQueryProc(userRoutine, theQuery, srcData, dstData)        \
  3639.         (*(userRoutine))((theQuery), (srcData), (dstData))
  3640. #endif
  3641.  
  3642. typedef GXJobFormatModeQueryProcPtr GXJobFormatModeQueryProc;
  3643.  
  3644. extern OSErr Send_GXJobFormatModeQuery(gxQueryType theQuery, void *srcData, void *dstData)
  3645.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 50, 0xABFB);
  3646. extern OSErr Forward_GXJobFormatModeQuery(gxQueryType theQuery, void *srcData, void *dstData)
  3647.  TWOWORDINLINE(0x7036, 0xABFB);
  3648. typedef OSErr (*GXWriteStatusToDTPWindowProcPtr)(gxStatusRecord *pStatusRec, gxDisplayRecord *pDisplay);
  3649.  
  3650. #if GENERATINGCFM
  3651. typedef UniversalProcPtr GXWriteStatusToDTPWindowUPP;
  3652. #else
  3653. typedef GXWriteStatusToDTPWindowProcPtr GXWriteStatusToDTPWindowUPP;
  3654. #endif
  3655.  
  3656. enum {
  3657.     uppGXWriteStatusToDTPWindowProcInfo = kCStackBased
  3658.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  3659.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxStatusRecord*)))
  3660.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(gxDisplayRecord*)))
  3661. };
  3662.  
  3663. #if GENERATINGCFM
  3664. #define NewGXWriteStatusToDTPWindowProc(userRoutine)        \
  3665.         (GXWriteStatusToDTPWindowUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXWriteStatusToDTPWindowProcInfo, GetCurrentArchitecture())
  3666. #else
  3667. #define NewGXWriteStatusToDTPWindowProc(userRoutine)        \
  3668.         ((GXWriteStatusToDTPWindowUPP) (userRoutine))
  3669. #endif
  3670.  
  3671. #if GENERATINGCFM
  3672. #define CallGXWriteStatusToDTPWindowProc(userRoutine, pStatusRec, pDisplay)        \
  3673.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXWriteStatusToDTPWindowProcInfo, (pStatusRec), (pDisplay))
  3674. #else
  3675. #define CallGXWriteStatusToDTPWindowProc(userRoutine, pStatusRec, pDisplay)        \
  3676.         (*(userRoutine))((pStatusRec), (pDisplay))
  3677. #endif
  3678.  
  3679. typedef GXWriteStatusToDTPWindowProcPtr GXWriteStatusToDTPWindowProc;
  3680.  
  3681. extern OSErr Send_GXWriteStatusToDTPWindow(gxStatusRecord *pStatusRec, gxDisplayRecord *pDisplay)
  3682.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 51, 0xABFB);
  3683. extern OSErr Forward_GXWriteStatusToDTPWindow(gxStatusRecord *pStatusRec, gxDisplayRecord *pDisplay)
  3684.  TWOWORDINLINE(0x7036, 0xABFB);
  3685. typedef OSErr (*GXInitializeStatusAlertProcPtr)(gxStatusRecord *pStatusRec, DialogPtr *pDialog);
  3686.  
  3687. #if GENERATINGCFM
  3688. typedef UniversalProcPtr GXInitializeStatusAlertUPP;
  3689. #else
  3690. typedef GXInitializeStatusAlertProcPtr GXInitializeStatusAlertUPP;
  3691. #endif
  3692.  
  3693. enum {
  3694.     uppGXInitializeStatusAlertProcInfo = kCStackBased
  3695.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  3696.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxStatusRecord*)))
  3697.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(DialogPtr*)))
  3698. };
  3699.  
  3700. #if GENERATINGCFM
  3701. #define NewGXInitializeStatusAlertProc(userRoutine)        \
  3702.         (GXInitializeStatusAlertUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXInitializeStatusAlertProcInfo, GetCurrentArchitecture())
  3703. #else
  3704. #define NewGXInitializeStatusAlertProc(userRoutine)        \
  3705.         ((GXInitializeStatusAlertUPP) (userRoutine))
  3706. #endif
  3707.  
  3708. #if GENERATINGCFM
  3709. #define CallGXInitializeStatusAlertProc(userRoutine, pStatusRec, pDialog)        \
  3710.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXInitializeStatusAlertProcInfo, (pStatusRec), (pDialog))
  3711. #else
  3712. #define CallGXInitializeStatusAlertProc(userRoutine, pStatusRec, pDialog)        \
  3713.         (*(userRoutine))((pStatusRec), (pDialog))
  3714. #endif
  3715.  
  3716. typedef GXInitializeStatusAlertProcPtr GXInitializeStatusAlertProc;
  3717.  
  3718. extern OSErr Send_GXInitializeStatusAlert(gxStatusRecord *pStatusRec, DialogPtr *pDialog)
  3719.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 52, 0xABFB);
  3720. extern OSErr Forward_GXInitializeStatusAlert(gxStatusRecord *pStatusRec, DialogPtr *pDialog)
  3721.  TWOWORDINLINE(0x7036, 0xABFB);
  3722. typedef OSErr (*GXHandleAlertStatusProcPtr)(gxStatusRecord *pStatusRec);
  3723.  
  3724. #if GENERATINGCFM
  3725. typedef UniversalProcPtr GXHandleAlertStatusUPP;
  3726. #else
  3727. typedef GXHandleAlertStatusProcPtr GXHandleAlertStatusUPP;
  3728. #endif
  3729.  
  3730. enum {
  3731.     uppGXHandleAlertStatusProcInfo = kCStackBased
  3732.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  3733.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxStatusRecord*)))
  3734. };
  3735.  
  3736. #if GENERATINGCFM
  3737. #define NewGXHandleAlertStatusProc(userRoutine)        \
  3738.         (GXHandleAlertStatusUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXHandleAlertStatusProcInfo, GetCurrentArchitecture())
  3739. #else
  3740. #define NewGXHandleAlertStatusProc(userRoutine)        \
  3741.         ((GXHandleAlertStatusUPP) (userRoutine))
  3742. #endif
  3743.  
  3744. #if GENERATINGCFM
  3745. #define CallGXHandleAlertStatusProc(userRoutine, pStatusRec)        \
  3746.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXHandleAlertStatusProcInfo, (pStatusRec))
  3747. #else
  3748. #define CallGXHandleAlertStatusProc(userRoutine, pStatusRec)        \
  3749.         (*(userRoutine))((pStatusRec))
  3750. #endif
  3751.  
  3752. typedef GXHandleAlertStatusProcPtr GXHandleAlertStatusProc;
  3753.  
  3754. extern OSErr Send_GXHandleAlertStatus(gxStatusRecord *pStatusRec)
  3755.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 53, 0xABFB);
  3756. extern OSErr Forward_GXHandleAlertStatus(gxStatusRecord *pStatusRec)
  3757.  TWOWORDINLINE(0x7036, 0xABFB);
  3758. typedef OSErr (*GXHandleAlertEventProcPtr)(gxStatusRecord *pStatusRec, DialogPtr pDialog, EventRecord *theEvent, short *response);
  3759.  
  3760. #if GENERATINGCFM
  3761. typedef UniversalProcPtr GXHandleAlertEventUPP;
  3762. #else
  3763. typedef GXHandleAlertEventProcPtr GXHandleAlertEventUPP;
  3764. #endif
  3765.  
  3766. enum {
  3767.     uppGXHandleAlertEventProcInfo = kCStackBased
  3768.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  3769.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxStatusRecord*)))
  3770.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(DialogPtr)))
  3771.          | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(EventRecord*)))
  3772.          | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(short*)))
  3773. };
  3774.  
  3775. #if GENERATINGCFM
  3776. #define NewGXHandleAlertEventProc(userRoutine)        \
  3777.         (GXHandleAlertEventUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXHandleAlertEventProcInfo, GetCurrentArchitecture())
  3778. #else
  3779. #define NewGXHandleAlertEventProc(userRoutine)        \
  3780.         ((GXHandleAlertEventUPP) (userRoutine))
  3781. #endif
  3782.  
  3783. #if GENERATINGCFM
  3784. #define CallGXHandleAlertEventProc(userRoutine, pStatusRec, pDialog, theEvent, response)        \
  3785.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXHandleAlertEventProcInfo, (pStatusRec), (pDialog), (theEvent), (response))
  3786. #else
  3787. #define CallGXHandleAlertEventProc(userRoutine, pStatusRec, pDialog, theEvent, response)        \
  3788.         (*(userRoutine))((pStatusRec), (pDialog), (theEvent), (response))
  3789. #endif
  3790.  
  3791. typedef GXHandleAlertEventProcPtr GXHandleAlertEventProc;
  3792.  
  3793. extern OSErr Send_GXHandleAlertEvent(gxStatusRecord *pStatusRec, DialogPtr pDialog, EventRecord *theEvent, short *response)
  3794.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 54, 0xABFB);
  3795. extern OSErr Forward_GXHandleAlertEvent(gxStatusRecord *pStatusRec, DialogPtr pDialog, EventRecord *theEvent, short *response)
  3796.  TWOWORDINLINE(0x7036, 0xABFB);
  3797. typedef void (*GXCleanupStartJobProcPtr)(void);
  3798.  
  3799. #if GENERATINGCFM
  3800. typedef UniversalProcPtr GXCleanupStartJobUPP;
  3801. #else
  3802. typedef GXCleanupStartJobProcPtr GXCleanupStartJobUPP;
  3803. #endif
  3804.  
  3805. enum {
  3806.     uppGXCleanupStartJobProcInfo = kCStackBased
  3807. };
  3808.  
  3809. #if GENERATINGCFM
  3810. #define NewGXCleanupStartJobProc(userRoutine)        \
  3811.         (GXCleanupStartJobUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXCleanupStartJobProcInfo, GetCurrentArchitecture())
  3812. #else
  3813. #define NewGXCleanupStartJobProc(userRoutine)        \
  3814.         ((GXCleanupStartJobUPP) (userRoutine))
  3815. #endif
  3816.  
  3817. #if GENERATINGCFM
  3818. #define CallGXCleanupStartJobProc(userRoutine)        \
  3819.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXCleanupStartJobProcInfo)
  3820. #else
  3821. #define CallGXCleanupStartJobProc(userRoutine)        \
  3822.         (*(userRoutine))()
  3823. #endif
  3824.  
  3825. typedef GXCleanupStartJobProcPtr GXCleanupStartJobProc;
  3826.  
  3827. extern void Send_GXCleanupStartJob(void)
  3828.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 55, 0xABFB);
  3829. extern void Forward_GXCleanupStartJob(void)
  3830.  TWOWORDINLINE(0x7036, 0xABFB);
  3831. typedef void (*GXCleanupStartPageProcPtr)(void);
  3832.  
  3833. #if GENERATINGCFM
  3834. typedef UniversalProcPtr GXCleanupStartPageUPP;
  3835. #else
  3836. typedef GXCleanupStartPageProcPtr GXCleanupStartPageUPP;
  3837. #endif
  3838.  
  3839. enum {
  3840.     uppGXCleanupStartPageProcInfo = kCStackBased
  3841. };
  3842.  
  3843. #if GENERATINGCFM
  3844. #define NewGXCleanupStartPageProc(userRoutine)        \
  3845.         (GXCleanupStartPageUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXCleanupStartPageProcInfo, GetCurrentArchitecture())
  3846. #else
  3847. #define NewGXCleanupStartPageProc(userRoutine)        \
  3848.         ((GXCleanupStartPageUPP) (userRoutine))
  3849. #endif
  3850.  
  3851. #if GENERATINGCFM
  3852. #define CallGXCleanupStartPageProc(userRoutine)        \
  3853.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXCleanupStartPageProcInfo)
  3854. #else
  3855. #define CallGXCleanupStartPageProc(userRoutine)        \
  3856.         (*(userRoutine))()
  3857. #endif
  3858.  
  3859. typedef GXCleanupStartPageProcPtr GXCleanupStartPageProc;
  3860.  
  3861. extern void Send_GXCleanupStartPage(void)
  3862.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 56, 0xABFB);
  3863. extern void Forward_GXCleanupStartPage(void)
  3864.  TWOWORDINLINE(0x7036, 0xABFB);
  3865. typedef void (*GXCleanupOpenConnectionProcPtr)(void);
  3866.  
  3867. #if GENERATINGCFM
  3868. typedef UniversalProcPtr GXCleanupOpenConnectionUPP;
  3869. #else
  3870. typedef GXCleanupOpenConnectionProcPtr GXCleanupOpenConnectionUPP;
  3871. #endif
  3872.  
  3873. enum {
  3874.     uppGXCleanupOpenConnectionProcInfo = kCStackBased
  3875. };
  3876.  
  3877. #if GENERATINGCFM
  3878. #define NewGXCleanupOpenConnectionProc(userRoutine)        \
  3879.         (GXCleanupOpenConnectionUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXCleanupOpenConnectionProcInfo, GetCurrentArchitecture())
  3880. #else
  3881. #define NewGXCleanupOpenConnectionProc(userRoutine)        \
  3882.         ((GXCleanupOpenConnectionUPP) (userRoutine))
  3883. #endif
  3884.  
  3885. #if GENERATINGCFM
  3886. #define CallGXCleanupOpenConnectionProc(userRoutine)        \
  3887.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXCleanupOpenConnectionProcInfo)
  3888. #else
  3889. #define CallGXCleanupOpenConnectionProc(userRoutine)        \
  3890.         (*(userRoutine))()
  3891. #endif
  3892.  
  3893. typedef GXCleanupOpenConnectionProcPtr GXCleanupOpenConnectionProc;
  3894.  
  3895. extern void Send_GXCleanupOpenConnection(void)
  3896.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 57, 0xABFB);
  3897. extern void Forward_GXCleanupOpenConnection(void)
  3898.  TWOWORDINLINE(0x7036, 0xABFB);
  3899. typedef void (*GXCleanupStartSendPageProcPtr)(void);
  3900.  
  3901. #if GENERATINGCFM
  3902. typedef UniversalProcPtr GXCleanupStartSendPageUPP;
  3903. #else
  3904. typedef GXCleanupStartSendPageProcPtr GXCleanupStartSendPageUPP;
  3905. #endif
  3906.  
  3907. enum {
  3908.     uppGXCleanupStartSendPageProcInfo = kCStackBased
  3909. };
  3910.  
  3911. #if GENERATINGCFM
  3912. #define NewGXCleanupStartSendPageProc(userRoutine)        \
  3913.         (GXCleanupStartSendPageUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXCleanupStartSendPageProcInfo, GetCurrentArchitecture())
  3914. #else
  3915. #define NewGXCleanupStartSendPageProc(userRoutine)        \
  3916.         ((GXCleanupStartSendPageUPP) (userRoutine))
  3917. #endif
  3918.  
  3919. #if GENERATINGCFM
  3920. #define CallGXCleanupStartSendPageProc(userRoutine)        \
  3921.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXCleanupStartSendPageProcInfo)
  3922. #else
  3923. #define CallGXCleanupStartSendPageProc(userRoutine)        \
  3924.         (*(userRoutine))()
  3925. #endif
  3926.  
  3927. typedef GXCleanupStartSendPageProcPtr GXCleanupStartSendPageProc;
  3928.  
  3929. extern void Send_GXCleanupStartSendPage(void)
  3930.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 58, 0xABFB);
  3931. extern void Forward_GXCleanupStartSendPage(void)
  3932.  TWOWORDINLINE(0x7036, 0xABFB);
  3933. typedef OSErr (*GXDefaultDesktopPrinterProcPtr)(Str31 dtpName);
  3934.  
  3935. #if GENERATINGCFM
  3936. typedef UniversalProcPtr GXDefaultDesktopPrinterUPP;
  3937. #else
  3938. typedef GXDefaultDesktopPrinterProcPtr GXDefaultDesktopPrinterUPP;
  3939. #endif
  3940.  
  3941. enum {
  3942.     uppGXDefaultDesktopPrinterProcInfo = kCStackBased
  3943.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  3944.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(/* Str31 is array */ void*)))
  3945. };
  3946.  
  3947. #if GENERATINGCFM
  3948. #define NewGXDefaultDesktopPrinterProc(userRoutine)        \
  3949.         (GXDefaultDesktopPrinterUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXDefaultDesktopPrinterProcInfo, GetCurrentArchitecture())
  3950. #else
  3951. #define NewGXDefaultDesktopPrinterProc(userRoutine)        \
  3952.         ((GXDefaultDesktopPrinterUPP) (userRoutine))
  3953. #endif
  3954.  
  3955. #if GENERATINGCFM
  3956. #define CallGXDefaultDesktopPrinterProc(userRoutine, dtpName)        \
  3957.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXDefaultDesktopPrinterProcInfo, (dtpName))
  3958. #else
  3959. #define CallGXDefaultDesktopPrinterProc(userRoutine, dtpName)        \
  3960.         (*(userRoutine))((dtpName))
  3961. #endif
  3962.  
  3963. typedef GXDefaultDesktopPrinterProcPtr GXDefaultDesktopPrinterProc;
  3964.  
  3965. extern OSErr Send_GXDefaultDesktopPrinter(Str31 dtpName)
  3966.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 59, 0xABFB);
  3967. extern OSErr Forward_GXDefaultDesktopPrinter(Str31 dtpName)
  3968.  TWOWORDINLINE(0x7036, 0xABFB);
  3969. typedef OSErr (*GXCaptureOutputDeviceProcPtr)(Boolean capture);
  3970.  
  3971. #if GENERATINGCFM
  3972. typedef UniversalProcPtr GXCaptureOutputDeviceUPP;
  3973. #else
  3974. typedef GXCaptureOutputDeviceProcPtr GXCaptureOutputDeviceUPP;
  3975. #endif
  3976.  
  3977. enum {
  3978.     uppGXCaptureOutputDeviceProcInfo = kCStackBased
  3979.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  3980.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Boolean)))
  3981. };
  3982.  
  3983. #if GENERATINGCFM
  3984. #define NewGXCaptureOutputDeviceProc(userRoutine)        \
  3985.         (GXCaptureOutputDeviceUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXCaptureOutputDeviceProcInfo, GetCurrentArchitecture())
  3986. #else
  3987. #define NewGXCaptureOutputDeviceProc(userRoutine)        \
  3988.         ((GXCaptureOutputDeviceUPP) (userRoutine))
  3989. #endif
  3990.  
  3991. #if GENERATINGCFM
  3992. #define CallGXCaptureOutputDeviceProc(userRoutine, capture)        \
  3993.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXCaptureOutputDeviceProcInfo, (capture))
  3994. #else
  3995. #define CallGXCaptureOutputDeviceProc(userRoutine, capture)        \
  3996.         (*(userRoutine))((capture))
  3997. #endif
  3998.  
  3999. typedef GXCaptureOutputDeviceProcPtr GXCaptureOutputDeviceProc;
  4000.  
  4001. extern OSErr Send_GXCaptureOutputDevice(Boolean capture)
  4002.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 60, 0xABFB);
  4003. extern OSErr Forward_GXCaptureOutputDevice(Boolean capture)
  4004.  TWOWORDINLINE(0x7036, 0xABFB);
  4005. typedef OSErr (*GXOpenConnectionRetryProcPtr)(ResType theType, void *aVoid, Boolean *retryopenPtr, OSErr anErr);
  4006.  
  4007. #if GENERATINGCFM
  4008. typedef UniversalProcPtr GXOpenConnectionRetryUPP;
  4009. #else
  4010. typedef GXOpenConnectionRetryProcPtr GXOpenConnectionRetryUPP;
  4011. #endif
  4012.  
  4013. enum {
  4014.     uppGXOpenConnectionRetryProcInfo = kCStackBased
  4015.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  4016.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(ResType)))
  4017.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(void*)))
  4018.          | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(Boolean*)))
  4019.          | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(OSErr)))
  4020. };
  4021.  
  4022. #if GENERATINGCFM
  4023. #define NewGXOpenConnectionRetryProc(userRoutine)        \
  4024.         (GXOpenConnectionRetryUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXOpenConnectionRetryProcInfo, GetCurrentArchitecture())
  4025. #else
  4026. #define NewGXOpenConnectionRetryProc(userRoutine)        \
  4027.         ((GXOpenConnectionRetryUPP) (userRoutine))
  4028. #endif
  4029.  
  4030. #if GENERATINGCFM
  4031. #define CallGXOpenConnectionRetryProc(userRoutine, theType, aVoid, retryopenPtr, anErr)        \
  4032.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXOpenConnectionRetryProcInfo, (theType), (aVoid), (retryopenPtr), (anErr))
  4033. #else
  4034. #define CallGXOpenConnectionRetryProc(userRoutine, theType, aVoid, retryopenPtr, anErr)        \
  4035.         (*(userRoutine))((theType), (aVoid), (retryopenPtr), (anErr))
  4036. #endif
  4037.  
  4038. typedef GXOpenConnectionRetryProcPtr GXOpenConnectionRetryProc;
  4039.  
  4040. extern OSErr Send_GXOpenConnectionRetry(ResType theType, void *aVoid, Boolean *retryopenPtr, OSErr anErr)
  4041.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 61, 0xABFB);
  4042. extern OSErr Forward_GXOpenConnectionRetry(ResType theType, void *aVoid, Boolean *retryopenPtr, OSErr anErr)
  4043.  TWOWORDINLINE(0x7036, 0xABFB);
  4044. typedef OSErr (*GXExamineSpoolFileProcPtr)(gxSpoolFile theSpoolFile);
  4045.  
  4046. #if GENERATINGCFM
  4047. typedef UniversalProcPtr GXExamineSpoolFileUPP;
  4048. #else
  4049. typedef GXExamineSpoolFileProcPtr GXExamineSpoolFileUPP;
  4050. #endif
  4051.  
  4052. enum {
  4053.     uppGXExamineSpoolFileProcInfo = kCStackBased
  4054.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  4055.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxSpoolFile)))
  4056. };
  4057.  
  4058. #if GENERATINGCFM
  4059. #define NewGXExamineSpoolFileProc(userRoutine)        \
  4060.         (GXExamineSpoolFileUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXExamineSpoolFileProcInfo, GetCurrentArchitecture())
  4061. #else
  4062. #define NewGXExamineSpoolFileProc(userRoutine)        \
  4063.         ((GXExamineSpoolFileUPP) (userRoutine))
  4064. #endif
  4065.  
  4066. #if GENERATINGCFM
  4067. #define CallGXExamineSpoolFileProc(userRoutine, theSpoolFile)        \
  4068.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXExamineSpoolFileProcInfo, (theSpoolFile))
  4069. #else
  4070. #define CallGXExamineSpoolFileProc(userRoutine, theSpoolFile)        \
  4071.         (*(userRoutine))((theSpoolFile))
  4072. #endif
  4073.  
  4074. typedef GXExamineSpoolFileProcPtr GXExamineSpoolFileProc;
  4075.  
  4076. extern OSErr Send_GXExamineSpoolFile(gxSpoolFile theSpoolFile)
  4077.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 62, 0xABFB);
  4078. extern OSErr Forward_GXExamineSpoolFile(gxSpoolFile theSpoolFile)
  4079.  TWOWORDINLINE(0x7036, 0xABFB);
  4080. typedef OSErr (*GXFinishSendPlaneProcPtr)(void);
  4081.  
  4082. #if GENERATINGCFM
  4083. typedef UniversalProcPtr GXFinishSendPlaneUPP;
  4084. #else
  4085. typedef GXFinishSendPlaneProcPtr GXFinishSendPlaneUPP;
  4086. #endif
  4087.  
  4088. enum {
  4089.     uppGXFinishSendPlaneProcInfo = kCStackBased
  4090.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  4091. };
  4092.  
  4093. #if GENERATINGCFM
  4094. #define NewGXFinishSendPlaneProc(userRoutine)        \
  4095.         (GXFinishSendPlaneUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXFinishSendPlaneProcInfo, GetCurrentArchitecture())
  4096. #else
  4097. #define NewGXFinishSendPlaneProc(userRoutine)        \
  4098.         ((GXFinishSendPlaneUPP) (userRoutine))
  4099. #endif
  4100.  
  4101. #if GENERATINGCFM
  4102. #define CallGXFinishSendPlaneProc(userRoutine)        \
  4103.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXFinishSendPlaneProcInfo)
  4104. #else
  4105. #define CallGXFinishSendPlaneProc(userRoutine)        \
  4106.         (*(userRoutine))()
  4107. #endif
  4108.  
  4109. typedef GXFinishSendPlaneProcPtr GXFinishSendPlaneProc;
  4110.  
  4111. extern OSErr Send_GXFinishSendPlane(void)
  4112.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 63, 0xABFB);
  4113. extern OSErr Forward_GXFinishSendPlane(void)
  4114.  TWOWORDINLINE(0x7036, 0xABFB);
  4115. typedef OSErr (*GXDoesPaperFitProcPtr)(gxTrayIndex whichTray, gxPaperType paper, Boolean *fits);
  4116.  
  4117. #if GENERATINGCFM
  4118. typedef UniversalProcPtr GXDoesPaperFitUPP;
  4119. #else
  4120. typedef GXDoesPaperFitProcPtr GXDoesPaperFitUPP;
  4121. #endif
  4122.  
  4123. enum {
  4124.     uppGXDoesPaperFitProcInfo = kCStackBased
  4125.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  4126.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxTrayIndex)))
  4127.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(gxPaperType)))
  4128.          | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(Boolean*)))
  4129. };
  4130.  
  4131. #if GENERATINGCFM
  4132. #define NewGXDoesPaperFitProc(userRoutine)        \
  4133.         (GXDoesPaperFitUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXDoesPaperFitProcInfo, GetCurrentArchitecture())
  4134. #else
  4135. #define NewGXDoesPaperFitProc(userRoutine)        \
  4136.         ((GXDoesPaperFitUPP) (userRoutine))
  4137. #endif
  4138.  
  4139. #if GENERATINGCFM
  4140. #define CallGXDoesPaperFitProc(userRoutine, whichTray, paper, fits)        \
  4141.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXDoesPaperFitProcInfo, (whichTray), (paper), (fits))
  4142. #else
  4143. #define CallGXDoesPaperFitProc(userRoutine, whichTray, paper, fits)        \
  4144.         (*(userRoutine))((whichTray), (paper), (fits))
  4145. #endif
  4146.  
  4147. typedef GXDoesPaperFitProcPtr GXDoesPaperFitProc;
  4148.  
  4149. extern OSErr Send_GXDoesPaperFit(gxTrayIndex whichTray, gxPaperType paper, Boolean *fits)
  4150.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 64, 0xABFB);
  4151. extern OSErr Forward_GXDoesPaperFit(gxTrayIndex whichTray, gxPaperType paper, Boolean *fits)
  4152.  TWOWORDINLINE(0x7036, 0xABFB);
  4153. typedef OSErr (*GXChooserMessageProcPtr)(long message, long caller, StringPtr objName, StringPtr zoneName, ListHandle theList, long p2);
  4154.  
  4155. #if GENERATINGCFM
  4156. typedef UniversalProcPtr GXChooserMessageUPP;
  4157. #else
  4158. typedef GXChooserMessageProcPtr GXChooserMessageUPP;
  4159. #endif
  4160.  
  4161. enum {
  4162.     uppGXChooserMessageProcInfo = kCStackBased
  4163.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  4164.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(long)))
  4165.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(long)))
  4166.          | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(StringPtr)))
  4167.          | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(StringPtr)))
  4168.          | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(ListHandle)))
  4169.          | STACK_ROUTINE_PARAMETER(6, SIZE_CODE(sizeof(long)))
  4170. };
  4171.  
  4172. #if GENERATINGCFM
  4173. #define NewGXChooserMessageProc(userRoutine)        \
  4174.         (GXChooserMessageUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXChooserMessageProcInfo, GetCurrentArchitecture())
  4175. #else
  4176. #define NewGXChooserMessageProc(userRoutine)        \
  4177.         ((GXChooserMessageUPP) (userRoutine))
  4178. #endif
  4179.  
  4180. #if GENERATINGCFM
  4181. #define CallGXChooserMessageProc(userRoutine, message, caller, objName, zoneName, theList, p2)        \
  4182.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXChooserMessageProcInfo, (message), (caller), (objName), (zoneName), (theList), (p2))
  4183. #else
  4184. #define CallGXChooserMessageProc(userRoutine, message, caller, objName, zoneName, theList, p2)        \
  4185.         (*(userRoutine))((message), (caller), (objName), (zoneName), (theList), (p2))
  4186. #endif
  4187.  
  4188. typedef GXChooserMessageProcPtr GXChooserMessageProc;
  4189.  
  4190. extern OSErr Send_GXChooserMessage(long message, long caller, StringPtr objName, StringPtr zoneName, ListHandle theList, long p2)
  4191.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 65, 0xABFB);
  4192. extern OSErr Forward_GXChooserMessage(long message, long caller, StringPtr objName, StringPtr zoneName, ListHandle theList, long p2)
  4193.  TWOWORDINLINE(0x7036, 0xABFB);
  4194. typedef OSErr (*GXFindPrinterProfileProcPtr)(gxPrinter thePrinter, void *searchData, long index, gxColorProfile *returnedProfile, long *numProfiles);
  4195.  
  4196. #if GENERATINGCFM
  4197. typedef UniversalProcPtr GXFindPrinterProfileUPP;
  4198. #else
  4199. typedef GXFindPrinterProfileProcPtr GXFindPrinterProfileUPP;
  4200. #endif
  4201.  
  4202. enum {
  4203.     uppGXFindPrinterProfileProcInfo = kCStackBased
  4204.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  4205.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxPrinter)))
  4206.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(void*)))
  4207.          | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(long)))
  4208.          | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(gxColorProfile*)))
  4209.          | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(long*)))
  4210. };
  4211.  
  4212. #if GENERATINGCFM
  4213. #define NewGXFindPrinterProfileProc(userRoutine)        \
  4214.         (GXFindPrinterProfileUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXFindPrinterProfileProcInfo, GetCurrentArchitecture())
  4215. #else
  4216. #define NewGXFindPrinterProfileProc(userRoutine)        \
  4217.         ((GXFindPrinterProfileUPP) (userRoutine))
  4218. #endif
  4219.  
  4220. #if GENERATINGCFM
  4221. #define CallGXFindPrinterProfileProc(userRoutine, thePrinter, searchData, index, returnedProfile, numProfiles)        \
  4222.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXFindPrinterProfileProcInfo, (thePrinter), (searchData), (index), (returnedProfile), (numProfiles))
  4223. #else
  4224. #define CallGXFindPrinterProfileProc(userRoutine, thePrinter, searchData, index, returnedProfile, numProfiles)        \
  4225.         (*(userRoutine))((thePrinter), (searchData), (index), (returnedProfile), (numProfiles))
  4226. #endif
  4227.  
  4228. typedef GXFindPrinterProfileProcPtr GXFindPrinterProfileProc;
  4229.  
  4230. extern OSErr Send_GXFindPrinterProfile(gxPrinter thePrinter, void *searchData, long index, gxColorProfile *returnedProfile, long *numProfiles)
  4231.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 66, 0xABFB);
  4232. extern OSErr Forward_GXFindPrinterProfile(gxPrinter thePrinter, void *searchData, long index, gxColorProfile *returnedProfile, long *numProfiles)
  4233.  TWOWORDINLINE(0x7036, 0xABFB);
  4234. typedef OSErr (*GXFindFormatProfileProcPtr)(gxFormat theFormat, void *searchData, long index, gxColorProfile *returnedProfile, long *numProfiles);
  4235.  
  4236. #if GENERATINGCFM
  4237. typedef UniversalProcPtr GXFindFormatProfileUPP;
  4238. #else
  4239. typedef GXFindFormatProfileProcPtr GXFindFormatProfileUPP;
  4240. #endif
  4241.  
  4242. enum {
  4243.     uppGXFindFormatProfileProcInfo = kCStackBased
  4244.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  4245.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxFormat)))
  4246.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(void*)))
  4247.          | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(long)))
  4248.          | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(gxColorProfile*)))
  4249.          | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(long*)))
  4250. };
  4251.  
  4252. #if GENERATINGCFM
  4253. #define NewGXFindFormatProfileProc(userRoutine)        \
  4254.         (GXFindFormatProfileUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXFindFormatProfileProcInfo, GetCurrentArchitecture())
  4255. #else
  4256. #define NewGXFindFormatProfileProc(userRoutine)        \
  4257.         ((GXFindFormatProfileUPP) (userRoutine))
  4258. #endif
  4259.  
  4260. #if GENERATINGCFM
  4261. #define CallGXFindFormatProfileProc(userRoutine, theFormat, searchData, index, returnedProfile, numProfiles)        \
  4262.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXFindFormatProfileProcInfo, (theFormat), (searchData), (index), (returnedProfile), (numProfiles))
  4263. #else
  4264. #define CallGXFindFormatProfileProc(userRoutine, theFormat, searchData, index, returnedProfile, numProfiles)        \
  4265.         (*(userRoutine))((theFormat), (searchData), (index), (returnedProfile), (numProfiles))
  4266. #endif
  4267.  
  4268. typedef GXFindFormatProfileProcPtr GXFindFormatProfileProc;
  4269.  
  4270. extern OSErr Send_GXFindFormatProfile(gxFormat theFormat, void *searchData, long index, gxColorProfile *returnedProfile, long *numProfiles)
  4271.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 67, 0xABFB);
  4272. extern OSErr Forward_GXFindFormatProfile(gxFormat theFormat, void *searchData, long index, gxColorProfile *returnedProfile, long *numProfiles)
  4273.  TWOWORDINLINE(0x7036, 0xABFB);
  4274. typedef OSErr (*GXSetPrinterProfileProcPtr)(gxPrinter thePrinter, gxColorProfile oldProfile, gxColorProfile newProfile);
  4275.  
  4276. #if GENERATINGCFM
  4277. typedef UniversalProcPtr GXSetPrinterProfileUPP;
  4278. #else
  4279. typedef GXSetPrinterProfileProcPtr GXSetPrinterProfileUPP;
  4280. #endif
  4281.  
  4282. enum {
  4283.     uppGXSetPrinterProfileProcInfo = kCStackBased
  4284.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  4285.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxPrinter)))
  4286.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(gxColorProfile)))
  4287.          | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(gxColorProfile)))
  4288. };
  4289.  
  4290. #if GENERATINGCFM
  4291. #define NewGXSetPrinterProfileProc(userRoutine)        \
  4292.         (GXSetPrinterProfileUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXSetPrinterProfileProcInfo, GetCurrentArchitecture())
  4293. #else
  4294. #define NewGXSetPrinterProfileProc(userRoutine)        \
  4295.         ((GXSetPrinterProfileUPP) (userRoutine))
  4296. #endif
  4297.  
  4298. #if GENERATINGCFM
  4299. #define CallGXSetPrinterProfileProc(userRoutine, thePrinter, oldProfile, newProfile)        \
  4300.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXSetPrinterProfileProcInfo, (thePrinter), (oldProfile), (newProfile))
  4301. #else
  4302. #define CallGXSetPrinterProfileProc(userRoutine, thePrinter, oldProfile, newProfile)        \
  4303.         (*(userRoutine))((thePrinter), (oldProfile), (newProfile))
  4304. #endif
  4305.  
  4306. typedef GXSetPrinterProfileProcPtr GXSetPrinterProfileProc;
  4307.  
  4308. extern OSErr Send_GXSetPrinterProfile(gxPrinter thePrinter, gxColorProfile oldProfile, gxColorProfile newProfile)
  4309.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 68, 0xABFB);
  4310. extern OSErr Forward_GXSetPrinterProfile(gxPrinter thePrinter, gxColorProfile oldProfile, gxColorProfile newProfile)
  4311.  TWOWORDINLINE(0x7036, 0xABFB);
  4312. typedef OSErr (*GXSetFormatProfileProcPtr)(gxFormat theFormat, gxColorProfile oldProfile, gxColorProfile newProfile);
  4313.  
  4314. #if GENERATINGCFM
  4315. typedef UniversalProcPtr GXSetFormatProfileUPP;
  4316. #else
  4317. typedef GXSetFormatProfileProcPtr GXSetFormatProfileUPP;
  4318. #endif
  4319.  
  4320. enum {
  4321.     uppGXSetFormatProfileProcInfo = kCStackBased
  4322.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  4323.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxFormat)))
  4324.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(gxColorProfile)))
  4325.          | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(gxColorProfile)))
  4326. };
  4327.  
  4328. #if GENERATINGCFM
  4329. #define NewGXSetFormatProfileProc(userRoutine)        \
  4330.         (GXSetFormatProfileUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXSetFormatProfileProcInfo, GetCurrentArchitecture())
  4331. #else
  4332. #define NewGXSetFormatProfileProc(userRoutine)        \
  4333.         ((GXSetFormatProfileUPP) (userRoutine))
  4334. #endif
  4335.  
  4336. #if GENERATINGCFM
  4337. #define CallGXSetFormatProfileProc(userRoutine, theFormat, oldProfile, newProfile)        \
  4338.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXSetFormatProfileProcInfo, (theFormat), (oldProfile), (newProfile))
  4339. #else
  4340. #define CallGXSetFormatProfileProc(userRoutine, theFormat, oldProfile, newProfile)        \
  4341.         (*(userRoutine))((theFormat), (oldProfile), (newProfile))
  4342. #endif
  4343.  
  4344. typedef GXSetFormatProfileProcPtr GXSetFormatProfileProc;
  4345.  
  4346. extern OSErr Send_GXSetFormatProfile(gxFormat theFormat, gxColorProfile oldProfile, gxColorProfile newProfile)
  4347.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 69, 0xABFB);
  4348. extern OSErr Forward_GXSetFormatProfile(gxFormat theFormat, gxColorProfile oldProfile, gxColorProfile newProfile)
  4349.  TWOWORDINLINE(0x7036, 0xABFB);
  4350. typedef OSErr (*GXHandleAltDestinationProcPtr)(Boolean *userCancels);
  4351.  
  4352. #if GENERATINGCFM
  4353. typedef UniversalProcPtr GXHandleAltDestinationUPP;
  4354. #else
  4355. typedef GXHandleAltDestinationProcPtr GXHandleAltDestinationUPP;
  4356. #endif
  4357.  
  4358. enum {
  4359.     uppGXHandleAltDestinationProcInfo = kCStackBased
  4360.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  4361.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Boolean*)))
  4362. };
  4363.  
  4364. #if GENERATINGCFM
  4365. #define NewGXHandleAltDestinationProc(userRoutine)        \
  4366.         (GXHandleAltDestinationUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXHandleAltDestinationProcInfo, GetCurrentArchitecture())
  4367. #else
  4368. #define NewGXHandleAltDestinationProc(userRoutine)        \
  4369.         ((GXHandleAltDestinationUPP) (userRoutine))
  4370. #endif
  4371.  
  4372. #if GENERATINGCFM
  4373. #define CallGXHandleAltDestinationProc(userRoutine, userCancels)        \
  4374.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXHandleAltDestinationProcInfo, (userCancels))
  4375. #else
  4376. #define CallGXHandleAltDestinationProc(userRoutine, userCancels)        \
  4377.         (*(userRoutine))((userCancels))
  4378. #endif
  4379.  
  4380. typedef GXHandleAltDestinationProcPtr GXHandleAltDestinationProc;
  4381.  
  4382. extern OSErr Send_GXHandleAltDestination(Boolean *userCancels)
  4383.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 70, 0xABFB);
  4384. extern OSErr Forward_GXHandleAltDestination(Boolean *userCancels)
  4385.  TWOWORDINLINE(0x7036, 0xABFB);
  4386. typedef OSErr (*GXSetupPageImageDataProcPtr)(gxFormat theFormat, gxShape thePage, void *imageData);
  4387.  
  4388. #if GENERATINGCFM
  4389. typedef UniversalProcPtr GXSetupPageImageDataUPP;
  4390. #else
  4391. typedef GXSetupPageImageDataProcPtr GXSetupPageImageDataUPP;
  4392. #endif
  4393.  
  4394. enum {
  4395.     uppGXSetupPageImageDataProcInfo = kCStackBased
  4396.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  4397.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxFormat)))
  4398.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(gxShape)))
  4399.          | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(void*)))
  4400. };
  4401.  
  4402. #if GENERATINGCFM
  4403. #define NewGXSetupPageImageDataProc(userRoutine)        \
  4404.         (GXSetupPageImageDataUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXSetupPageImageDataProcInfo, GetCurrentArchitecture())
  4405. #else
  4406. #define NewGXSetupPageImageDataProc(userRoutine)        \
  4407.         ((GXSetupPageImageDataUPP) (userRoutine))
  4408. #endif
  4409.  
  4410. #if GENERATINGCFM
  4411. #define CallGXSetupPageImageDataProc(userRoutine, theFormat, thePage, imageData)        \
  4412.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGXSetupPageImageDataProcInfo, (theFormat), (thePage), (imageData))
  4413. #else
  4414. #define CallGXSetupPageImageDataProc(userRoutine, theFormat, thePage, imageData)        \
  4415.         (*(userRoutine))((theFormat), (thePage), (imageData))
  4416. #endif
  4417.  
  4418. typedef GXSetupPageImageDataProcPtr GXSetupPageImageDataProc;
  4419.  
  4420. extern OSErr Send_GXSetupPageImageData(gxFormat theFormat, gxShape thePage, void *imageData)
  4421.  FIVEWORDINLINE(0x7032, 0x223C, 0x0000, 71, 0xABFB);
  4422. extern OSErr Forward_GXSetupPageImageData(gxFormat theFormat, gxShape thePage, void *imageData)
  4423.  TWOWORDINLINE(0x7036, 0xABFB);
  4424. /*******************************************************************
  4425.                     Start of old "GXPrintingErrors.h/a/p" interface file.
  4426.             ********************************************************************/
  4427.  
  4428. enum {
  4429.     gxPrintingResultBase        = -510                            /*First QuickDraw GX printing error code.*/
  4430. };
  4431.  
  4432. /*RESULT CODES FOR QUICKDRAW GX PRINTING OPERATIONS*/
  4433. enum {
  4434.     gxAioTimeout                = (gxPrintingResultBase),        /*-510 : Timeout condition occurred during operation*/
  4435.     gxAioBadRqstState            = (gxPrintingResultBase - 1),    /*-511 : Async I/O request in invalid state for operation*/
  4436.     gxAioBadConn                = (gxPrintingResultBase - 2),    /*-512 : Invalid Async I/O connection refnum*/
  4437.     gxAioInvalidXfer            = (gxPrintingResultBase - 3),    /*-513 : Read data transfer structure contained bad values*/
  4438.     gxAioNoRqstBlks                = (gxPrintingResultBase - 4),    /*-514 : No available request blocks to process request*/
  4439.     gxAioNoDataXfer                = (gxPrintingResultBase - 5),    /*-515 : Data transfer structure pointer not specified*/
  4440.     gxAioTooManyAutos            = (gxPrintingResultBase - 6),    /*-516 : Auto status request already active*/
  4441.     gxAioNoAutoStat                = (gxPrintingResultBase - 7),    /*-517 : Connection not configured for auto status*/
  4442.     gxAioBadRqstID                = (gxPrintingResultBase - 8),    /*-518 : Invalid I/O request identifier*/
  4443.     gxAioCantKill                = (gxPrintingResultBase - 9),    /*-519 : Comm. protocol doesn't support I/O term*/
  4444.     gxAioAlreadyExists            = (gxPrintingResultBase - 10),    /*-520 : Protocol spec. data already specified*/
  4445.     gxAioCantFind                = (gxPrintingResultBase - 11),    /*-521 : Protocol spec. data does not exist*/
  4446.     gxAioDeviceDisconn            = (gxPrintingResultBase - 12),    /*-522 : Machine disconnected from printer*/
  4447.     gxAioNotImplemented            = (gxPrintingResultBase - 13),    /*-523 : Function not implemented*/
  4448.     gxAioOpenPending            = (gxPrintingResultBase - 14),    /*-524 : Opening a connection for protocol, but another open pending*/
  4449.     gxAioNoProtocolData            = (gxPrintingResultBase - 15),    /*-525 : No protocol specific data specified in request*/
  4450.     gxAioRqstKilled                = (gxPrintingResultBase - 16),    /*-526 : I/O request was terminated*/
  4451.     gxBadBaudRate                = (gxPrintingResultBase - 17),    /*-527 : Invalid baud rate specified*/
  4452.     gxBadParity                    = (gxPrintingResultBase - 18),    /*-528 : Invalid parity specified*/
  4453.     gxBadStopBits                = (gxPrintingResultBase - 19),    /*-529 : Invalid stop bits specified*/
  4454.     gxBadDataBits                = (gxPrintingResultBase - 20),    /*-530 : Invalid data bits specified*/
  4455.     gxBadPrinterName            = (gxPrintingResultBase - 21),    /*-531 : Bad printer name specified*/
  4456.     gxAioBadMsgType                = (gxPrintingResultBase - 22),    /*-532 : Bad masType field in transfer info structure*/
  4457.     gxAioCantFindDevice            = (gxPrintingResultBase - 23),    /*-533 : Cannot locate target device*/
  4458.     gxAioOutOfSeq                = (gxPrintingResultBase - 24),    /*-534 : Non-atomic SCSI requests submitted out of sequence*/
  4459.     gxPrIOAbortErr                = (gxPrintingResultBase - 25),    /*-535 : I/O operation aborted*/
  4460.     gxPrUserAbortErr            = (gxPrintingResultBase - 26),    /*-536 : User aborted*/
  4461.     gxCantAddPanelsNowErr        = (gxPrintingResultBase - 27),    /*-537 : Can only add panels during driver switch or dialog setup*/
  4462.     gxBadxdtlKeyErr                = (gxPrintingResultBase - 28),    /*-538 : Unknown key for xdtl - must be radiobutton, etc*/
  4463.     gxXdtlItemOutOfRangeErr        = (gxPrintingResultBase - 29),    /*-539 : Referenced item does not belong to panel*/
  4464.     gxNoActionButtonErr            = (gxPrintingResultBase - 30),    /*-540 : Action button is nil*/
  4465.     gxTitlesTooLongErr            = (gxPrintingResultBase - 31),    /*-541 : Length of buttons exceeds alert maximum width*/
  4466.     gxUnknownAlertVersionErr    = (gxPrintingResultBase - 32),    /*-542 : Bad version for printing alerts*/
  4467.     gxGBBufferTooSmallErr        = (gxPrintingResultBase - 33),    /*-543 : Buffer too small.*/
  4468.     gxInvalidPenTable            = (gxPrintingResultBase - 34),    /*-544 : Invalid vector driver pen table.*/
  4469.     gxIncompletePrintFileErr    = (gxPrintingResultBase - 35),    /*-545 : Print file was not completely spooled*/
  4470.     gxCrashedPrintFileErr        = (gxPrintingResultBase - 36),    /*-546 : Print file is corrupted*/
  4471.     gxInvalidPrintFileVersion    = (gxPrintingResultBase - 37),    /*-547 : Print file is incompatible with current QuickDraw GX version*/
  4472.     gxSegmentLoadFailedErr        = (gxPrintingResultBase - 38),    /*-548 : Segment loader error*/
  4473.     gxExtensionNotFoundErr        = (gxPrintingResultBase - 39),    /*-549 : Requested printing extension could not be found*/
  4474.     gxDriverVersionErr            = (gxPrintingResultBase - 40),    /*-550 : Driver too new for current version of QuickDraw GX*/
  4475.     gxImagingSystemVersionErr    = (gxPrintingResultBase - 41),    /*-551 : Imaging system too new for current version of QuickDraw GX*/
  4476.     gxFlattenVersionTooNew        = (gxPrintingResultBase - 42),    /*-552 : Flattened object format too new for current version of QDGX*/
  4477.     gxPaperTypeNotFound            = (gxPrintingResultBase - 43),    /*-553 : Requested papertype could not be found*/
  4478.     gxNoSuchPTGroup                = (gxPrintingResultBase - 44),    /*-554 : Requested papertype group could not be found*/
  4479.     gxNotEnoughPrinterMemory    = (gxPrintingResultBase - 45),    /*-555 : Printer does not have enough memory for fonts in document*/
  4480.     gxDuplicatePanelNameErr        = (gxPrintingResultBase - 46),    /*-556 : Attempt to add more than 10 panels with the same name*/
  4481.     gxExtensionVersionErr        = (gxPrintingResultBase - 47)    /*-557 : Extension too new for current version of QuickDraw GX*/
  4482. };
  4483.  
  4484.  
  4485. #if defined(__MWERKS__) && GENERATING68K
  4486.     #pragma pop
  4487. #endif
  4488.  
  4489. #if PRAGMA_IMPORT_SUPPORTED
  4490. #pragma import off
  4491. #endif
  4492.  
  4493. #if PRAGMA_ALIGN_SUPPORTED
  4494. #pragma options align=reset
  4495. #endif
  4496.  
  4497. #ifdef __cplusplus
  4498. }
  4499. #endif
  4500.  
  4501. #endif /* __GXPRINTING__ */
  4502.